> From [email protected] Fri Dec 12 > 19:34:05 2025 > Authentication-Results: server.novatec-inc.com; > dkim=fail reason="signature verification failed" (2048-bit key) > header.d=gmail.com [email protected] header.b=APW3uc4B > Authentication-Results: apache.org; auth=none > X-Spam-Status: No, score=-8.8 required=5.0 tests=BAYES_00, > FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, > MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,RCVD_IN_MSPIKE_H5, > RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,USER_IN_DEF_SPF_WL > autolearn=ham autolearn_force=no version=3.4.6-_revision__1.0__ > Authentication-Results: spamproc1-he-fi.apache.org (amavisd-new); > dkim=pass (2048-bit key) header.d=gmail.com > DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; > d=gmail.com; s=20230601; t=1765585991; x=1766190791; > darn=tomcat.apache.org; > h=message-id:in-reply-to:to:references:date:subject:mime-version:from > :from:to:cc:subject:date:message-id:reply-to; > bh=DO1/BPpYzxh48vytKsb8h26b2Dd+yXPLR56DBPQHtGE=; > b=APW3uc4BoTqp+3hwzGQC242zLvz1Guy+psslG7miZK6XXGqVw3UQEA96NtrUvy0nQl > bbyj4h3hhnkZQ1Gg47f6X0EzWXOGVj7z5e6E+kHMVI793XSZyLW4AQDjJGNxBIcpRx/+ > k3CORPLLfjZiyZVG4UiGjOcuUZ811fuGQS4Z+ILtB+WKhP5ShfaByAp5dKKh/OkF5I6w > 2shumQiN17xeU5NfN3CdGco9FNTfaJvXmmkvtmGetbBPyKrAq3Ysb6QNWfKJ4CBErwZD > Ga05t2sBN9TcE6EDyF89V2XnQd27ALN86QmDNVZro9hZWK/4I0cru3vdkMbTiC1T+JzS > 1gKw== > Subject: Re: 'for each' statements are only available if source level is 1.5 > or greater > Date: Fri, 12 Dec 2025 18:32:59 -0600 > To: Tomcat Users List <[email protected]> > From: Chuck Caldarale <[email protected]> > X-Spam-Report: > * -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% > * [score: 0.0000] > * 0.2 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level > * mail domains are different > * 0.0 RCVD_IN_MSPIKE_H5 RBL: Excellent reputation (+5) > * [3.227.148.255 listed in wl.mailspike.net] > * -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at https://www.dnswl.org/, > * high trust > * [3.227.148.255 listed in list.dnswl.org] > * -1.0 SPF_HELO_PASS SPF: HELO matches SPF record > * -0.0 USER_IN_DEF_SPF_WL From: address is in the default SPF > * welcome-list > * 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail > * provider > * [n828cl[at]gmail.com] > * -0.1 SPF_PASS SPF: sender matches SPF record > * 0.0 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and > * EnvelopeFrom freemail headers are different > * 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders > * -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list > * manager > X-Spam-Checker-Version: SpamAssassin 3.4.6-_revision__1.0__ (2021-04-09) on > server.novatec-inc.com > > > > > On 2025 Dec 12, at 16:11, Mark Foley <[email protected]> wrote: > > > > On Fri Dec 12 14:08:03 2025 Chuck Caldarale <[email protected]> wrote: > >> > >>> On 2025 Dec 12, at 12:02, Mark Foley <[email protected]> wrote: > >>> > >>> On Fri Dec 12 06:54:21 2025 Mark Thomas <[email protected]> wrote: > >>>> > >>>> On 12/12/2025 05:17, Mark Foley wrote: > >>>> > >>>> <snip/> > >>>> > >>>>> The "source level is 1.5 or greater" is on the web page. Here are the > >>>>> first > >>>>> several lines: > >>>>> > >>>>> HTTP Status 500 - Internal Server Error > >>>>> > >>>>> Type Exception Report > >>>>> > >>>>> Message Unable to compile class for JSP: > >>>>> > >>>>> Description The server encountered an unexpected condition that > >>>>> prevented it from fulfilling the request. > >>>>> > >>>>> Exception > >>>>> > >>>>> org.apache.jasper.JasperException: Unable to compile class for JSP: > >>>>> > >>>>> An error occurred at line: [17] in the jsp file: > >>>>> [/include/homePageImage.inc] > >>>>> Syntax error, 'for each' statements are only available if source level > >>>>> is 1.5 or greater > >>>> > >>>> OK. We need to see CATALINA_BASE/conf/web.xml > >>>> > >>>> It will be big but better we see the whole thing to be sure. > >>> > >>> Here you go. I've omitted all the comments and the 1,012 <mime-mapping>s. > >>> Note > >>> that compilerSourceVM is explicitly set to 11. I didn't do that. It was > >>> in the > >>> installed web.xml: > >>> > >>> <?xml version="1.0" encoding="UTF-8"?> > >>> <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" > >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >>> xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee > >>> https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd" > >>> version="6.0"> > >>> > >>> <request-character-encoding>UTF-8</request-character-encoding> > >>> <response-character-encoding>UTF-8</response-character-encoding> > >>> > >>> <servlet> > >>> <servlet-name>default</servlet-name> > >>> > >>> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> > >>> <init-param> > >>> <param-name>debug</param-name> > >>> <param-value>0</param-value> > >>> </init-param> > >>> <init-param> > >>> <param-name>listings</param-name> > >>> <param-value>false</param-value> > >>> </init-param> > >>> <load-on-startup>1</load-on-startup> > >>> </servlet> > >>> > >>> <servlet> > >>> <servlet-name>jsp</servlet-name> > >>> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> > >>> <init-param> > >>> <param-name>compilerSourceVM</param-name> > >>> <param-value>11</param-value> > >>> </init-param> > >>> <init-param> > >>> <param-name>fork</param-name> > >>> <param-value>false</param-value> > >>> </init-param> > >>> <init-param> > >>> <param-name>xpoweredBy</param-name> > >>> <param-value>false</param-value> > >>> </init-param> > >>> <load-on-startup>3</load-on-startup> > >>> </servlet> > >>> > >>> <servlet-mapping> > >>> <servlet-name>default</servlet-name> > >>> <url-pattern>/</url-pattern> > >>> </servlet-mapping> > >>> > >>> <servlet-mapping> > >>> <servlet-name>jsp</servlet-name> > >>> <url-pattern>*.jsp</url-pattern> > >>> <url-pattern>*.jspx</url-pattern> > >>> </servlet-mapping> > >>> > >>> <session-config> > >>> <session-timeout>30</session-timeout> > >>> </session-config> > >>> > >>> <mime-mapping> > >>> [snip] > >>> </mime-mapping> > >>> > >>> <welcome-file-list> > >>> <welcome-file>index.html</welcome-file> > >>> <welcome-file>index.htm</welcome-file> > >>> <welcome-file>index.jsp</welcome-file> > >>> </welcome-file-list> > >>> > >>> <security-constraint> > >>> <web-resource-collection> > >>> <web-resource-name>Include files</web-resource-name> > >>> <description>No direct access to include files.</description> > >>> <url-pattern>/include/*</url-pattern> > >>> <http-method>POST</http-method> > >>> <http-method>GET</http-method> > >>> </web-resource-collection> > >>> > >>> <auth-constraint> > >>> <description>No direct browser access to include > >>> files.</description> > >>> <role-name>NobodyHasThisRole</role-name> > >>> </auth-constraint> > >>> </security-constraint> > >>> > >>> </web-app> > >>> > >>>> > >>>> Also, the a web application with that error, we need to see > >>>> WEB-INF/web.xml > >>> > >>> <?xml version="1.0" encoding="ISO-8859-1"?> > >>> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" > >>> xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" > >>> xsi:schemalocation="http://xmlns.jcp.org/xml/ns/javaee > >>> http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" > >>> version="3.1" > >>> metadata-complete="true"> > >>> > >>> <env-entry> > >>> <env-entry-name>connurl</env-entry-name> > >>> <env-entry-value>jdbc:mysql://localhost/members?</env-entry-value> > >>> <env-entry-type>java.lang.string</env-entry-type> > >>> </env-entry> > >>> > >>> <env-entry> > >>> <env-entry-name>dbpassword</env-entry-name> > >>> <env-entry-value>obfuscated</env-entry-value> > >>> <env-entry-type>java.lang.string</env-entry-type> > >>> </env-entry> > >>> > >>> <env-entry> > >>> <env-entry-name>webuser</env-entry-name> > >>> <env-entry-value>user</env-entry-value> > >>> <env-entry-type>java.lang.string</env-entry-type> > >>> </env-entry> > >>> > >>> </web-app> > >>> > >>>> > >>>> <snip/> > >>>> > >>>>> i don't know that i have "junk" in the conf files. i don't tend to be > >>>>> inventive > >>>>> with these things myself. here's my whole server.xml file, sans > >>>>> comments. please > >>>>> let me know if you see anything wrong. > >>>> > >>>> <snip/> > >>>> > >>>> > >>>>> <host name="www.horeb-wright3.org" appbase="webapps" > >>>>> unpackwars="true" autodeploy="true" > >>>>> xmlvalidation="false" xmlnamespaceaware="false"> > >>>> > >>>> set autodeploy="false". i think you will be getting double deployment. > >>> > >>> Done, although it doesn't seem to have cut down on the number of log > >>> messages > >>> generated in catalina.out. > >>> > >>>> Remove the 2 xml settings. a) the belong on the Context, not the Host > >>>> and b) you are using the defaults so there is no need to include them at > >>>> all. > >>> > >>> Done. > >>> > >>>>> <Alias>horeb-wright3.org</Alias> > >>>>> <Logger className="org.apache.catalina.logger.FileLogger" > >>>>> directory="logs/" prefix="horeb_access_log" suffix=".log" > >>>>> timestamp="true"/> > >>>> > >>>> Remove the entire Logger element. It is unsupported and isn't doing > >>>> anything. > >>> > >>> Done. > >>> > >>> None of the above have altered the source level is 1.5 error. > >> > >> > >> The unchanged number of log entries, coupled with the fact that modifying > >> compilerSourceVM has no apparent effect, makes me wonder if this Tomcat > >> instance is actually using the configuration files you think it is. It > >> wouldn’t be the first time that kind of non-obvious mistake has occurred. > >> > >> - Chuck > > > > So, how would I verify Tomcat is using the correct conf files? > > > If you’re using a Tomcat downloaded from tomcat.apache.org, the startup > directories are displayed by default by the startup.sh script. Also, the > catalina.out and catalina.yyyy-mm-dd.log files show more extensive > information, including whatever is being used for CATALINA_BASE and > CATALINA_HOME. For example: > > 12-Dec-2025 18:12:09.237 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Server version name: > Apache Tomcat/10.1.50 > 12-Dec-2025 18:12:09.239 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Server built: > Dec 2 2025 22:57:41 UTC > 12-Dec-2025 18:12:09.239 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Server version number: > 10.1.50.0 > 12-Dec-2025 18:12:09.239 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log OS Name: > Mac OS X > 12-Dec-2025 18:12:09.239 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log OS Version: > 26.2 > 12-Dec-2025 18:12:09.239 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Architecture: > aarch64 > 12-Dec-2025 18:12:09.239 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log Java Home: > /Library/Java/JavaVirtualMachines/temurin-24.jdk/Contents/Home > 12-Dec-2025 18:12:09.239 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log JVM Version: > 24.0.2+12 > 12-Dec-2025 18:12:09.239 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: > Eclipse Adoptium > 12-Dec-2025 18:12:09.239 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: > /Users/chuck/Downloads/apache-tomcat-10.1.50 > 12-Dec-2025 18:12:09.239 INFO [main] > org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: > /Users/chuck/Downloads/apache-tomcat-10.1.50 > > (The above is from a completely stock fresh download of Tomcat 10.1.) If > you’re using a 3rd-party repackaged version of Tomcat, things may well be a > bit different...
Yes I am using a Tomcat downloaded from tomcat.apache.org. Here are my VersionLoggerListener entries: 12-Dec-2025 12:31:07.013 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/10.1.13 12-Dec-2025 12:31:07.013 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Aug 23 2023 21:34:59 UTC 12-Dec-2025 12:31:07.013 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 10.1.13.0 12-Dec-2025 12:31:07.013 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux 12-Dec-2025 12:31:07.013 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 5.15.193 12-Dec-2025 12:31:07.013 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64 12-Dec-2025 12:31:07.013 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /user/util/src/jdk-17.0.8 12-Dec-2025 12:31:07.013 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 17.0.8+9-LTS-211 12-Dec-2025 12:31:07.014 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation 12-Dec-2025 12:31:07.014 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /user/util/src/apache-tomcat-10.1.13 12-Dec-2025 12:31:07.014 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /user/util/src/apache-tomcat-10.1.13 12-Dec-2025 12:31:07.014 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/srv/tomcat/conf/logging.properties 12-Dec-2025 12:31:07.014 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 12-Dec-2025 12:31:07.014 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048 12-Dec-2025 12:31:07.015 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 12-Dec-2025 12:31:07.015 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0007 12-Dec-2025 12:31:07.015 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED 12-Dec-2025 12:31:07.015 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED 12-Dec-2025 12:31:07.015 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util=ALL-UNNAMED 12-Dec-2025 12:31:07.015 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED 12-Dec-2025 12:31:07.015 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 12-Dec-2025 12:31:07.015 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/srv/tomcat 12-Dec-2025 12:31:07.015 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/srv/tomcat 12-Dec-2025 12:31:07.015 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/srv/tomcat/temp > > I am keeping separate directory links under /srv/tomcat and when I move the > > link > > back to the 8.5 version everything work. When I move it to the 10.1 version > > I > > get the errors. > > > Can you elaborate on that a bit more? Precisely what is in /srv/tomcat and > what “links” are you referring to? Also, can you explain exactly how you > install and start your multiple Tomcat instances? > > > - CHUCK I posted this in a reply to Olaf, but I'll repost here: These are completely different directory hierarchies with distinct files. One is in .../apache-tomcat-10.1.13/ the other is in ../apache-tomcat-8.5.11/ The 10.1.13 configs were not copied/modified from the 8.5.11 configs. They were installed from scratch from apache-tomcat-10.1.13.tar.gz. /srv/tomcat is symlinked to the 10.1.13 directory for testing and to the 8.5.11 directory for production. For example: # ls -l /srv/tomcat lrwxrwxrwx 1 root root 35 2025-12-12 13:23 /srv/tomcat -> /user/util/src/apache-tomcat-8.5.11/ The 8.5.11 config files are distinct from the 10.1.13 files: $ ls -l apache-tomcat-8.5.11/conf total 428 drwxr-s--- 28 tomcat tomcat 4096 2025-08-27 01:31 Catalina/ -rw-r----- 1 root tomcat 12895 2017-01-10 16:05 catalina.policy -rw-r----- 1 root tomcat 7202 2017-01-10 16:05 catalina.properties -rw-r----- 1 root tomcat 1612 2016-06-14 19:37 context.xml -rw-r----- 1 root tomcat 1338 2017-01-10 16:05 context.xml-orgJMF -rw-r----- 1 root tomcat 1149 2017-01-10 16:05 jaspic-providers.xml -rw-r----- 1 root tomcat 2358 2017-01-10 16:05 jaspic-providers.xsd -rw-r----- 1 root tomcat 3622 2017-01-10 16:05 logging.properties -rw-r--r-- 1 root tomcat 14658 2025-12-12 12:08 server.xml -rw-r----- 1 root tomcat 7511 2017-01-10 16:05 server.xml-orgJMF -rw-r----- 1 root tomcat 2164 2017-01-10 16:05 tomcat-users.xml -rw-r----- 1 root tomcat 2633 2017-01-10 16:05 tomcat-users.xsd -rw-r----- 1 root tomcat 167259 2021-10-28 09:47 web.xml $ ls -l apache-tomcat-10.1.13/conf total 612 drwxrws--- 24 tomcat tomcat 4096 2025-12-08 03:26 Catalina/ -rw-r----- 1 root tomcat 12926 2023-08-23 17:34 catalina.policy -rw-r----- 1 root tomcat 7693 2023-08-23 17:34 catalina.properties -rw-r----- 1 root tomcat 1447 2025-12-08 03:11 context.xml -rw-r----- 1 root tomcat 1149 2023-08-23 17:34 jaspic-providers.xml -rw-r----- 1 root tomcat 2313 2023-08-23 17:34 jaspic-providers.xsd -rw-r----- 1 root tomcat 4144 2023-08-23 17:34 logging.properties -rw-r--r-- 1 root tomcat 15199 2025-12-12 12:23 server.xml -rw-r----- 1 root tomcat 2756 2023-08-23 17:34 tomcat-users.xml -rw-r----- 1 root tomcat 2558 2023-08-23 17:34 tomcat-users.xsd -rw-r----- 1 root tomcat 2666 2025-12-12 12:46 web.txt -rw-r----- 1 root tomcat 173384 2025-12-12 13:24 web.xml To help avoid confusion I've completely removed the 8.5.11 everything. No possibility that the 8.5.11 configs, webapps, etc. are somehow being referenced. I still get the same error on the webpage. It is now 23:39 EST on Friday Dec. 12. I don't know your hours or time, but I'll leave it this way for about the next hour if you happen to be able to try it. the URL is http://horeb-wright3.org I can't leave it that way indefinitely since this is a production system. THX --Mark --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
