IDEA下PathKit.getWebRootPath()的问题

如题,IDEA导入jfinal-club,在_Generator中执行PathKit.getWebRootPath(),得到的结果似乎是项目的compiler output path:

System.out.println("getWebRootPath:"+ PathKit.getWebRootPath());

// 得到:
getWebRootPath:D:\javaProjects\idea\crm\main\out

而在JFinalClubConfig的onStart中测试,得到如下结果:

System.out.println("getWebRootPath:"+ PathKit.getWebRootPath());

// 得到:
getWebRootPath:D:\javaProjects\idea\crm\main\src\main\webapp

修改project structure也没发现问题,而另一个项目则没问题。是Maven项目导入的问题吗?

评论区

杜福忠

2019-06-17 23:46

其实看了源码就知道了,第一个是从class输出目录去找的,如果想指定目录可以提前调用PathKit.setWebRootPath

第二个是因为 jfinal-undertow中找到文件夹并且注入的值了

himans

2019-06-18 02:42

感谢@杜福忠 的解答!我也曾经猜想是这个原因,多次测试,使用IDEA直接open(而不是Import)一个club项目,测试后JFinalClubConfig的onStart返回的结果相同,并且_Generator返回了正确的结果D:\javaProjects\idea\crm\main(这个结果拼接成model生成目标路径是正确的,多一个out或者target就不对了);但是如题,导入的后面多个out,不知问题出在哪儿。