jfinal 的ServerFactory 类 里面的
private static String detectWebAppDir() {
String rootClassPath = PathKit.getRootClassPath();
String[] temp = null;
if (rootClassPath.indexOf("\\WEB-INF\\") != -1)
temp = rootClassPath.split("\\\\");
else
temp = rootClassPath.split("/");
return temp[temp.length - 3];
}
这个方法.
错误:java.lang.ArrayIndexOutOfBoundsException: -2
debug 查看 rootClassPath 变量
maven 项目下为:/E:/workspaces/MyEclipse/mys/target/classes/
普通web项目下为:/E:/workspaces/MyEclipse/ss/WebRoot/WEB-INF/classes/
是什么情况请大神分析下.
这个的话,你设置一下你自己的classpat吧
不管怎么配置始终都是在/target/classes这个目录
应该是你启动方式有误,使用MAVEN构建时,按JFinal文档那个新建JAVAApplication启动项时启动,会出现这样的问题。如果从Config类main方法启动,应该是可行的。
publicstaticvoidmain(String[]args){JFinal.start("WebRoot",80,"/",5);}注意“WebRoot”参数,我的是maven项目是普通项目结构,如果是maven结构的,应该是“src/main/webapp”。 应该是你的项目结构有问题,你可以参考我的博客这篇文章的3.2节(http://my.oschina.net/u/554168/blog/178841)创建个测试项目,然后关联JFinal,试试。这样能启动吗,我的报了错误NoSuchMethodError:javax.servlet.ServletContext.getContextPath()Ljava/lang/String;发表不了评论?应该是你启动方式有误,使用MAVEN构建时,按JFinal文档那个新建JAVAApplication启动项时启动,会出现这样的问题。如果从Config类main方法启动,应该是可行的。
publicstaticvoidmain(String[]args){JFinal.start("WebRoot",80,"/",5);}注意“WebRoot”参数,我的是maven项目是普通项目结构,如果是maven结构的,应该是“src/main/webapp”。 并不是maven不科学,而是我们对它还并不熟悉。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。