Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot use external libraries for google app engine java project

I have an Eclipse with Google App Engine Plugin and Google App Engine SDK 1.3.0 installed on. I have created a new web project with Google App Engine SDK 1.3.0. Now, I want to add a library for some advanced JSTL syntax in jsp file, it's is EL-functors (http://el-functors.sourceforge.net). In order for EL-functors to pickup its advanced syntax in jsp file and compile them to standard jsp syntax, I must add some listener to the web.xml:

<listener>
  <listener-class>beanface.el.functor.InstallFunctorListener</listener-class>
</listener>

Also, I have added standar.jar, jstl.jar, el-functors-1.0.3.jar to my build path. However, when I kick off web server (using Debug As>Web Project), in the console log, I see this error message:

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)

I guess there should be some causes lead to the library is not loaded. When I come to war/WEB-INF/lib, I cannot see standard.jar, jstl.jar and el-functors.1.0.3.jar overthere; only google app engine jars being deployed.

What is the problem there, how can I fix that?

like image 233
Phương Nguyễn Avatar asked Feb 05 '10 07:02

Phương Nguyễn


Video Answer


1 Answers

You need to copy the required jar(s) to the /WEB-INF/lib folder manually.

I faced a similar issue while starting to build with app-engine. After some research, I came to the conclusion that it is the only way to get it working.

Would love to know if I am wrong :)

like image 155
Gaurav Avatar answered Oct 05 '22 23:10

Gaurav