2019-03-12 08:56
@JFinal 知道为什么我那种方式不行了, maven 项目的话, 编译非 java 文件的话, 需要在 pom.xml 中加入:
src/main/java
**/*.jf
false
感谢波哥, 麻烦波哥了;
2019-03-10 19:05
@JFinal 把"/" + PathKit.getWebRootPath() 这一部分去掉后, 还是会报找不到文件; 我试在在我的类里去修改 engine.SourceFactory 也可以执行:
public class ModelClazzGenerator extends ModelGenerator {
public ModelClazzGenerator(String modelPackageName, String baseModelPackageName, String modelOutputDir) {
super(modelPackageName, baseModelPackageName, modelOutputDir);
FileSourceFactory fileSourceFactory = new FileSourceFactory();
this.engine.setSourceFactory(fileSourceFactory);
this.template = "/src/main/java/com/jlayui/codegen/model/model_template.jf";
}
}
请问是否还有别的做法?
移动模板文件到 resource 下是可以的, 想看看我那种模板文件路径是否有别的解决方案。
2019-03-10 18:03
@JFinal 按照波哥的建议, 我将模板文件移到 resource 下去的确可以;但有个疑问, 如果我是设成 this.template = "/src/main/java//com/jlayui/codegen/model/base_model_template.jf";这样的话, 就还是报文件没找到, 是否需要修改 engine 的 factory?
2019-03-10 17:31
public ClassPathSource(String baseTemplatePath, String fileName, String encoding) {
this.finalFileName = this.buildFinalFileName(baseTemplatePath, fileName);
this.fileName = fileName;
this.encoding = encoding;
this.classLoader = this.getClassLoader();
this.url = this.classLoader.getResource(this.finalFileName);
if (this.url == null) {
throw new IllegalArgumentException("File not found : \"" + this.finalFileName + "\"");
} else {
this.processIsInJarAndlastModified();
}
}
跟了下源码, 为什么模板会从 classLoader 去找的?
2018-05-14 16:43
@JFinal 波总,还有个问题就是如果在页面上引入xxx.js的话,在js中用模板语言,好像不能被识别?