arp.getEngine().setBaseTemplatePath("/sql");
arp.getEngine().setToClassPathSourceFactory();
String sqlPath = PathKit.getRootClassPath();
List<File> files = getFileList(sqlPath);
if(files.size()==0){
arp.getEngine().setSourceFactory(new FileSourceFactory());
sqlPath = PathKit.getRootClassPath();
Log2FinalKit.info("文件路径。。。"+sqlPath.replace("config", ""));
files = getFileList(sqlPath.replace("config", ""));
}
Log2FinalKit.info("文件大小。。。"+files.size());
for (File f : files) {
Log2FinalKit.info("文件名称。。。"+f.getName());
arp.addSqlTemplate(f.getName());
}
Engine engine = arp.getEngine();
engine.setToClassPathSourceFactory();
ActiveRecordMapping arm = new ActiveRecordMapping();
arm.mapping(dbSource, arp);
/**
* 获取当前文件夹下的所有.sql结尾的文件
*/
private final List<File> getFileList(String strPath) {
File dir = new File(strPath);
// 该文件目录下文件全部放入数组
File[] files = dir.listFiles();
if (null == files) {
return RESULTFILE;
} else {
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
getFileList(files[i].getAbsolutePath());
} else if (files[i].getName().endsWith("sql")) {
RESULTFILE.add(files[i]);
} else {
continue;
}
}
}
return RESULTFILE;
}波哥,这个方法打成jar包可以在当前项目下D:\JavaEE\DubboWorkspaces\examsys-web\target下读取sql文件 但是我把jar包挪到另一个盘符就读不了jar下的sql文件
项目:JFinal