IDEA无法启动JFINAL项目

有一个别人在Myeclipse开发的非maven JFinal项目(没有pom.xml),导入IDEA后,运行main函数,提示启动完成。但是报错404。

web.xml里头配置是正确的。我排查了下,configConstant没运行。该怎么解决呢。

1571216927(1).png1571217206(1).png1571216847(1).png1571217019(1).png


评论区

JFinal

2019-10-16 17:19

出现的 404 界面是 jetty 的, 证明你的项目未真正启动,检查 web.xml 中的配置

验证我前面的说法,可以在 SystemConfig.java 中的任意方法中用 System.out.println(...) 输出一行提示,启动的时候这个提示不可能出现,证明你的应用并未启动

当然,最好的验证办法是在 SystemConfig.java 中的方法中设置断点,单步调试

xspycsj

2019-10-16 17:22

@JFinal 是没有启动。但是我对了一下网上关于web.xml的配置,完全一样的。所以就不知道怎么解决了。

JFinal

2019-10-16 17:26

@xspycsj 注意要将 class path 指向 WEB-INF/classes,否则找不到类,也找不到 web.xml

这纯粹是一个 IDEA 的使用问题,你运行其它类型的 java web 项目同样会面临这个问题

xspycsj

2019-10-16 17:31

@JFinal 有没有可能是我在IDEA中配置了tomcat服务,但是这个项目其实是需要jetty?

JFinal

2019-10-16 19:05

@xspycsj 参考文档第一章,里面讲了 tomcat、IDEA、jetty 这类问题

xspycsj

2019-10-17 08:58

@JFinal 网上有说如果使用tomcat启动服务,需要把jetty-server的jar删除,不能用main方式启动,那该用什么方式启动呢?

JFinal

2019-10-17 10:43

@xspycsj 用 tomcat 就要将项目完全当成是一个普通的 java web 项目,启动方式与其它的 java web 方式完全一样

那么就不需要用 jfinal 提供的 main 方法启动,一定要看文档中有关说明:
https://www.jfinal.com/doc/1-11

用传统方式启动的时候,删掉 jetty-server.jar

冰雨

2019-10-17 15:59

@xspycsj @JFinal 之前遇到过这种情况,需要看一下Run/Debug Configurations中的Working directory的路径是否正确,可以参考Eclipse的Debug Configuration

happyzhang

2020-11-14 16:36

冰雨说的正解,IDEA下查看Run/Debug Configurations,将Working directory修改为工程的根目录,如果是maven多模块项目,需要指定到具体的模块目录下,默认是在外层目录下

热门反馈

扫码入社