一个 activeweb-bootstrap 找不到控制器
An activeweb-bootstrap can not find controller
我从 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'
显然这个例子有一个旧版本的依赖项。请克隆并重试。它已经修复了。
答案更新:
README.md 文件中的 link 不正确。该项目映射到根目录,因此您需要访问:
而不是访问 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。
我从 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'
显然这个例子有一个旧版本的依赖项。请克隆并重试。它已经修复了。
答案更新:
README.md 文件中的 link 不正确。该项目映射到根目录,因此您需要访问:
而不是访问 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。