我从gtihub下载了ActiveWeb Bootstrap项目并且遇到了麻烦。
首先,将它导入Eclipse是不可能的,所以我执行了mvn eclipse:eclipse,然后将项目导入eclipse并将其转换为maven。
然后我从Eclipse启动了jetty服务器,路径http://localhost:8080/activeweb-bootstrap/
出错了URI Full Path: /activeweb-bootstrap/
URI Path: /activeweb-bootstrap/
Method: GET
org.javalite.activeweb.ClassLoadException: java.lang.ClassNotFoundException: app.controllers.ActivewebBootstrapController
at org.javalite.activeweb.DynamicClassFactory.getCompiledClass(DynamicClassFactory.java:62)
at org.javalite.activeweb.DynamicClassFactory.createInstance(DynamicClassFactory.java:23)
at org.javalite.activeweb.ControllerFactory.createControllerInstance(ControllerFactory.java:27)
at org.javalite.activeweb.Router.recognize(Router.java:80)
at org.javal
只有在将其导出为war文件时才能正确运行此项目。如果从Eclipse中使用Jetty启动项目,为什么会出现此错误?
更新
62406 [qtp31348584-11] WARN org.javalite.activeweb.RequestDispatcher - ActiveWeb 404 WARNING:
Request URL: http://localhost:8080/activeweb-bootstrap/
ContextPath:
Query String: null
URI Full Path: /activeweb-bootstrap/
URI Path: /activeweb-bootstrap/
Method: GET
org.javalite.activeweb.ClassLoadException: java.lang.ClassNotFoundException: app.controllers.ActivewebBootstrapController
62406 [qtp31348584-11] WARN org.javalite.activeweb.ParamCopy - found 'session' value set by controller. It is reserved by ActiveWeb and will be overwritten.
62438 [qtp31348584-11] INFO org.javalite.activeweb.freemarker.FreeMarkerTemplateManager - Rendered template: '/system/404' with layout: '/layouts/default_layout'
答案 0 :(得分:0)
显然这个例子有一个旧版本的依赖项。请克隆并重试。它已经修好了。
答案更新:
README.md文件上的链接不正确。项目映射到root,因此您无需访问http://localhost:8080/activeweb-bootstrap/,而是需要访问:
README.md文件已相应更新:https://github.com/javalite/activeweb-bootstrap
您收到的消息:
org.javalite.activeweb.ClassLoadException: java.lang.ClassNotFoundException: app.controllers.ActivewebBootstrapController
完全有效,因为框架试图解释你的URI:“activeweb-bootstrap”作为到控制器app.controllers.ActivewebBootstrapController
的路由。
此控制器不存在,因此您获得404.