2023年12月19日(火) 16:11 Jun Suzuki :
>
> 2023年12月19日(火) 1:18 Rémy Maucherat :
> >
> > On Mon, Dec 18, 2023 at 1:28 PM Jun Suzuki wrote:
> > >
> > > Hello all,
> > >
> > > I'm now following the guide of
> > > https://tomcat.apache.org/tomcat-11.0-doc/graal.html to build Tomcat
> > > into native image.
> > > The original thread I posted before has become too long to be easily
> > > understood, so please let me raise a new thread to clarify.
> > > I break down the contents from the guide into a step-by-step
> > > procedure, and I would appreciate it if you can verify the steps and
> > > check for the issues.
> > >
> > > [Environment]: Tomcat 10.0.27, Ant 1.10.14, Maven 3.6.3, GraalVM EE
> > > 21.x+Java17
> > > [Steps]:
> > > 1. Download the stuffed folder according to the guide.
> > > 2. Edit the original pom to align with the Tomcat and JDK version:
> > >
> > > UTF-8
> > > org.apache.catalina.startup.Tomcat
> > > 10.0.27
> > >
> > > ..
> > >
> > > org.apache.maven.plugins
> > > maven-compiler-plugin
> > > 3.11.0
> > >
> > > 11
> > >
> > >
> > > 3. Copy conf and webapps folders from Tomcat to the stuffed folder.
> > > 4. Edit the logging properties(Deleted all Juli-related statements to
> > > avoid runtime error)
> > > handlers = java.util.logging.ConsoleHandler
> > > .handlers = java.util.logging.ConsoleHandler
> > > .
> > > java.util.logging.ConsoleHandler.level = FINE
> > > # java.util.logging.ConsoleHandler.formatter =
> > > org.apache.juli.OneLineFormatter
> > > java.util.logging.ConsoleHandler.encoding = UTF-8
> > > 5. Build and packaging.
> > > mvn package
> > > ant -Dwebapp.name=ROOT -f webapp-jspc.ant.xml
> > > ant -Dwebapp.name=manager -f webapp-jspc.ant.xml
> > > ant -Dwebapp.name=examples -f webapp-jspc.ant.xml
> > >
> > > Until here everything was running fine without error. And when I
> > > executed the next command, error message displayed as below:
> > > mvn package
> > > ..
> > > [INFO] --- maven-compiler-plugin:3.11.0:compile (default-compile) @
> > > tomcat-stuffed ---
> > > [INFO] Changes detected - recompiling the module! :source
> > > [INFO] Compiling 130 source files with javac [debug release 17] to
> > > target/classes
> > > [INFO]
> > > /home/opc/project/tomcat-native/stuffed/src/main/java/manager/org/apache/jsp/WEB_002dINF/jsp/sessionsList_jsp.java:
> > > Some input files use unchecked or unsafe operations.
> > > [INFO]
> > > /home/opc/project/tomcat-native/stuffed/src/main/java/manager/org/apache/jsp/WEB_002dINF/jsp/sessionsList_jsp.java:
> > > Recompile with -Xlint:unchecked for details.
> > > [INFO] Some messages have been simplified; recompile with
> > > -Xdiags:verbose to get full output
> > > [INFO] -
> > > [ERROR] COMPILATION ERROR :
> > > [INFO] -
> > > [ERROR]
> > > /home/opc/project/tomcat-native/stuffed/src/main/java/examples/org/apache/jsp/jsp/tagplugin/choose_jsp.java:[162,210]
> > > cannot access javax.servlet.jsp.tagext.TagSupport
> > > class file for javax.servlet.jsp.tagext.TagSupport not found
> > > [ERROR]
> > > /home/opc/project/tomcat-native/stuffed/src/main/java/examples/org/apache/jsp/jsp/tagplugin/choose_jsp.java:[165,35]
> > > cannot access javax.servlet.jsp.tagext.Tag
> > > class file for javax.servlet.jsp.tagext.Tag not found
> > > ..
> > >
> > > Could you please help to indicate what I have missed from the above steps?
> > > And I would really appreciate it if you could offer some kind of
> > > step-by-step hands-on examples about how to practice to run Tomcat as
> > > native image.
> >
> > This seems unrelated, you are apparently trying to run an EE8 webapp
> > (the examples from Tomcat 9) on a EE10 container. The package names
> > for the APIs changed to jakarta.*.
> >
> > Rémy
> >
>
> Thank you for the comments.
> To avoid excessive trial and error, is it possible to provide a
> combination of tested versions that ensure default Tomcat examples
> running in native image without error?
> Could you please indicate the version of Tomcat, GraalVM(EE or CE),
> JDK, maven, ant? I want to use these specific versions you pointed to
> make sure default Tomcat examples will run normally in term of native
> image without additional customization.
> Thank you in advance.
> Jun
Hi, I have accomplished each steps from the guide to packaging a
simple war file(containing a single servlet which is entry point from
web access) without error, except for last step of executing produced
native image