Everything Java Apache Geospatial Open Source. Hello Shinning Stars!!! Vincent Massol, Raphael Luta, Santiago Gala, Carsten Z.

Thursday, May 06, 2004

A tutorial/HOWTO. Using Geronimo with the Sun J2EE tutorial and Geronimo DEV. Sun J2EE Tutorial version 1.4




Download the tutorials and examples in the same bundle. The file name should be j2ee-1_4-doc-tutorial_1.zip.

Extract the file.

cd j2eetutorial14/example/web/hello1

ant

cd build/WEB-INF

Create the file geronimo-jetty.xml

cd ..

jar -cf j2eehello1.war *

cd incubator-geronimo/target

java -jar bin/deployer.jar --install --module j2eehello1.war

I had a small problem here...

org.apache.geronimo.deployment.DeploymentException: Unable to parse web.xml
at org.apache.geronimo.jetty.deployment.WARConfigBuilder.buildConfiguration(WARConfigBuilder.java:214)
at org.apache.geronimo.jetty.deployment.WARConfigBuilder.buildConfiguration(WARConfigBuilder.java:128)
at org.apache.geronimo.jetty.deployment.WARConfigBuilder$$FastClassByCGLIB$$ee905b6a.invoke()
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:87)
at org.apache.geronimo.gbean.jmx.FastMethodInvoker.invoke(FastMethodInvoker.java:40)
at org.apache.geronimo.gbean.jmx.GBeanMBeanOperation.invoke(GBeanMBeanOperation.java:153)
at org.apache.geronimo.gbean.jmx.GBeanMBean.invoke(GBeanMBean.java:465)
at mx4j.server.interceptor.InvokerMBeanServerInterceptor.invoke(InvokerMBeanServerInterceptor.java:218)
at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:121)
at mx4j.server.interceptor.SecurityMBeanServerInterceptor.invoke(SecurityMBeanServerInterceptor.java:86)
at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:121)
at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:121)
at mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.invoke(ContextClassLoaderMBeanServerInterceptor.java:205)
at mx4j.server.MX4JMBeanServer.invoke(MX4JMBeanServer.java:1079)
at org.apache.geronimo.kernel.jmx.InvokeMBean.invoke(InvokeMBean.java:100)
at org.apache.geronimo.gbean.jmx.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:125)
at org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$7a1ca0ae.buildConfiguration()
at org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:132)
at org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke()
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:87)
at org.apache.geronimo.gbean.jmx.FastMethodInvoker.invoke(FastMethodInvoker.java:40)
at org.apache.geronimo.gbean.jmx.GBeanMBeanOperation.invoke(GBeanMBeanOperation.java:153)
at org.apache.geronimo.gbean.jmx.GBeanMBean.invoke(GBeanMBean.java:465)
at mx4j.server.interceptor.InvokerMBeanServerInterceptor.invoke(InvokerMBeanServerInterceptor.java:218)
at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:121)
at mx4j.server.interceptor.SecurityMBeanServerInterceptor.invoke(SecurityMBeanServerInterceptor.java:86)
at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:121)
at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:121)
at mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.invoke(ContextClassLoaderMBeanServerInterceptor.java:205)
at mx4j.server.MX4JMBeanServer.invoke(MX4JMBeanServer.java:1079)
at org.apache.geronimo.kernel.Kernel.invoke(Kernel.java:216)
at org.apache.geronimo.system.main.CommandLine.main(CommandLine.java:82)

Hmm...

WARConfigBuilder.java Line 214 : WebAppDocument doc = (WebAppDocument) XmlBeansUtil.parse(new BufferedInputStream(is), WebAppDocument.type);

Hmm...
org.apache.xmlbeans.SchemaTypeLoader.parse(InputStream, SchemaType, XmlOptions)

Hmm...

Modified the hello1/build/WEB-INF/web.xml using the incubator-geronimo/target/config-store/5/war/WEB-INF/web.xml (remove servlet config)

java -jar bin/deployer.jar --install --module ../../../j2eetutorial14/examples/web/hello1/build/j2eehello1.war

Solved the problem...Success!

java -jar bin/server.jar your/domain/Example/test

http://localhost:8080/j2eehello1/

HTTP ERROR: 500 The+absolute+uri%3A+http%3A%2F%2Fjava%2Esun%2Ecom%2Fjsp%2Fjstl%2Fcore+cannot+be+resolved+in+either+web%2Exml+or+the+jar+files+deployed+with+this+application
RequestURI=/j2eehello1/

Powered by Jetty://

Hmm...

17:37:14,380 WARN [ServletHandler] Exception for /j2eehello1/
org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:94)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:404)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:154)
at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:358)
at org.apache.jasper.compiler.TagLibraryInfoImpl.(TagLibraryInfoImpl.java:190)
at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:458)
at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:523)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1577)
at org.apache.jasper.compiler.Parser.parse(Parser.java:171)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:247)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:149)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:135)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:237)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:456)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:362)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:477)
at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:227)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:147)
at org.mortbay.jetty.servlet.Default.handleGet(Default.java:306)
at org.mortbay.jetty.servlet.Default.service(Default.java:221)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:362)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:477)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:488)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1754)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:565)
at org.apache.geronimo.jetty.JettyWebApplicationContext.handle(JettyWebApplicationContext.java:164)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1706)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:817)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:979)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:834)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:212)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:315)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:498)

JSP Error

18:24:10,991 ERROR [Compiler] Javac exception
Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
at org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:139)
at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:833)
at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:682)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:390)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:458)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:362)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:477)
at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:227)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:147)
at org.mortbay.jetty.servlet.Default.handleGet(Default.java:306)
at org.mortbay.jetty.servlet.Default.service(Default.java:221)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:362)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:477)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:488)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1754)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:565)
at org.apache.geronimo.jetty.JettyWebApplicationContext.handle(JettyWebApplicationContext.java:164)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1706)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:817)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:979)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:834)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:212)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:315)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:498)
18:24:11,004 ERROR [Compiler] Env: Compile: javaFileName=/tmp/Jetty_0_0_0_0_8080__j2eehello1//org/apache/jsp/index_jsp.java
classpath=/tmp/Jetty_0_0_0_0_8080__j2eehello1:/usr/j2sdk1.4.2_01/jre/lib/ext/sunjce_provider.jar:/usr/j2sdk1.4.2_01/jre/lib/ext/dnsns.jar:/usr/j2sdk1.4.2_01/jre/lib/ext/ldapsec.jar:/usr/j2sdk1.4.2_01/jre/lib/ext/localedata.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/bin/server.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo-spec/jars/geronimo-spec-j2ee-1.4-rc1.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-j2ee-1.0-SNAPSHOT.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-core-1.0-SNAPSHOT.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-connector-1.0-SNAPSHOT.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/concurrent/jars/concurrent-1.3.2.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-transaction-1.0-SNAPSHOT.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-naming-1.0-SNAPSHOT.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-security-1.0-SNAPSHOT.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/tranql/jars/tranql-1.0-SNAPSHOT.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/openejb/jars/openejb-core-2.0-SNAPSHOT.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-jetty-1.0-SNAPSHOT.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/jetty/jars/org.mortbay.jetty-5.0.beta0.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/tomcat/jars/jasper-compiler-5.0.16.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/tomcat/jars/jasper-runtime-5.0.16.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/commons-el/jars/commons-el-1.0.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/ant/jars/ant-1.5.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/activemq/jars/activemq-1.0-SNAPSHOT.jar:/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/regexp/jars/regexp-1.3.jar:bin/server.jar
cp=bin/server.jar
cp=/tmp/Jetty_0_0_0_0_8080__j2eehello1
cp=/usr/j2sdk1.4.2_01/jre/lib/ext/sunjce_provider.jar
cp=/usr/j2sdk1.4.2_01/jre/lib/ext/dnsns.jar
cp=/usr/j2sdk1.4.2_01/jre/lib/ext/ldapsec.jar
cp=/usr/j2sdk1.4.2_01/jre/lib/ext/localedata.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/bin/server.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo-spec/jars/geronimo-spec-j2ee-1.4-rc1.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-j2ee-1.0-SNAPSHOT.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-core-1.0-SNAPSHOT.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-connector-1.0-SNAPSHOT.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/concurrent/jars/concurrent-1.3.2.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-transaction-1.0-SNAPSHOT.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-naming-1.0-SNAPSHOT.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-security-1.0-SNAPSHOT.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/tranql/jars/tranql-1.0-SNAPSHOT.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/openejb/jars/openejb-core-2.0-SNAPSHOT.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/geronimo/jars/geronimo-jetty-1.0-SNAPSHOT.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/jetty/jars/org.mortbay.jetty-5.0.beta0.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/tomcat/jars/jasper-compiler-5.0.16.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/tomcat/jars/jasper-runtime-5.0.16.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/commons-el/jars/commons-el-1.0.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/ant/jars/ant-1.5.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/activemq/jars/activemq-1.0-SNAPSHOT.jar
cp=/home/phil/source/CVSCheckOut/incubator-geronimo/target/repository/regexp/jars/regexp-1.3.jar
cp=bin/server.jar
work dir=/tmp/Jetty_0_0_0_0_8080__j2eehello1
extension dir=/usr/j2sdk1.4.2_01/jre/lib/ext
srcDir=/tmp/Jetty_0_0_0_0_8080__j2eehello1
include=org/apache/jsp/index_jsp.java

18:24:11,006 ERROR [Compiler] Error compiling file: /tmp/Jetty_0_0_0_0_8080__j2eehello1//org/apache/jsp/index_jsp.java [javac] Compiling 1 source file


18:24:11,014 WARN [ServletHandler] Exception for /j2eehello1/
org.apache.jasper.JasperException: Unable to compile class for JSP

No Java compiler was found to compile the generated source for the JSP.
This can usually be solved by copying manually $JAVA_HOME/lib/tools.jar from the JDK
to the common/lib directory of the Tomcat server, followed by a Tomcat restart.
If using an alternate Java compiler, please check its installation and access path.

at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:127)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:351)
at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:415)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:458)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:552)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:362)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:477)
at org.mortbay.jetty.servlet.Dispatcher.dispatch(Dispatcher.java:227)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:147)
at org.mortbay.jetty.servlet.Default.handleGet(Default.java:306)
at org.mortbay.jetty.servlet.Default.service(Default.java:221)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:362)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:477)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:488)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1754)
at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:565)
at org.apache.geronimo.jetty.JettyWebApplicationContext.handle(JettyWebApplicationContext.java:164)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1706)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:817)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:979)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:834)
at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:212)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:315)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:498)


No comments:

Blog Archive