无法使用外部库进行谷歌应用引擎java项目

Phư*_*yễn 13 eclipse google-app-engine

我安装了带有Google App Engine插件和Google App Engine SDK 1.3.0的Eclipse.我使用Google App Engine SDK 1.3.0创建了一个新的Web项目.现在,我想在jsp文件中为一些高级JSTL语法添加一个库,它是EL-functors(http://el-functors.sourceforge.net).为了让EL-functor在jsp文件中获取其高级语法并将它们编译为标准的jsp语法,我必须在web.xml中添加一些监听器:

<listener>
  <listener-class>beanface.el.functor.InstallFunctorListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)

另外,我已将standar.jar,jstl.jar,el-functors-1.0.3.jar添加到我的构建路径中.但是,当我启动Web服务器(使用Debug As> Web Project)时,在控制台日志中,我看到以下错误消息:

Initializing AppEngine server
Feb 5, 2010 7:22:45 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: Could not instantiate listener beanface.el.functor.InstallFunctorListener
java.lang.ClassNotFoundException: beanface.el.functor.InstallFunctorListener
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at ........
    at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:421)
    at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1035)
    at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:783)
    at com.google.gwt.dev.DevMode.main(DevMode.java:275)
Run Code Online (Sandbox Code Playgroud)

我猜应该有一些原因导致库没有加载.当我来战争/ WEB-INF/lib时,我看不到standard.jar,jstl.jar和el-functors.1.0.3.jar覆盖; 只部署谷歌应用程序引擎jar.

有什么问题,我该如何解决?

Gau*_*rav 24

您需要手动将所需的jar复制到/ WEB-INF/lib文件夹.

在开始使用app-engine构建时,我遇到了类似的问题.经过一番研究,我得出的结论是,这是让它运转的唯一方法.

很想知道我是不是错了:)


小智 5

除了手动处理罐子之外,还有一个用户友好的替代方案 - 快速修复

转到标记视图,找到适当的警告(以下类路径条目"...),从上下文菜单中选择"快速修复",然后单击"复制到/ WEB-INF/lib并更新类路径以引用此jar"