Re: TomEE does not launch on Java 24

Wolfgang Knauf <[email protected]> Sun, 13 Jul 2025 22:23:35 +0200
Newsgroups gmane.comp.java.openejb.user
Message-ID <[email protected]>
Perfect! I can confirm that it works now.

Best regards

Wolfgang

Am 13.07.25 um 11:04 schrieb Richard Zowalla:
> Hi Wolfgang,
>=20
> Thanks for the reproducer and for testing the snapshot. It is really app=
reciated, that you took the time to provide feedback.
>=20
>   I have fixed the underlying issue on =E2=80=9Emain=E2=80=9C and the re=
producer should now work correctly.
>=20
> Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)
> Maven home: /Applications/IntelliJ IDEA CE.app/Contents/plugins/maven/li=
b/maven3
> Java version: 24.0.1, vendor: Homebrew, runtime: /opt/homebrew/Cellar/op=
enjdk/24.0.1/libexec/openjdk.jdk/Contents/Home
> Default locale: de_DE, platform encoding: UTF-8
> OS name: "mac os x", version: "15.5", arch: "aarch64", family: =E2=80=9E=
Mac"
>=20
> [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3=
.381 s -- in org.sample.tomee_java24.test.SampleIT
> [INFO]
> [INFO] Results:
> [INFO]
> [INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
> [INFO]
> [INFO]
> [INFO] --- failsafe:3.5.3:verify (default) @ tomee-java24 ---
> [INFO]
> [INFO] --- install:3.1.2:install (default-install) @ tomee-java24 ---
> [INFO] Installing /Users/rz/Downloads/tomee-java24/pom.xml to /Users/rz/=
.m2/repository/org/sample/tomee-java24/0.0.1-SNAPSHOT/tomee-java24-0.0.1-S=
NAPSHOT.pom
> [INFO] Installing /Users/rz/Downloads/tomee-java24/target/tomee-java24.w=
ar to /Users/rz/.m2/repository/org/sample/tomee-java24/0.0.1-SNAPSHOT/tome=
e-java24-0.0.1-SNAPSHOT.war
> [INFO] -----------------------------------------------------------------=
=2D------
> [INFO] BUILD SUCCESS
> [INFO] -----------------------------------------------------------------=
=2D------
> [INFO] Total time:  4.583 s
> [INFO] Finished at: 2025-07-13T10:59:45+02:00
> [INFO] =E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=
=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=
=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=
=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94=
=E2=80=94=E2=80=94=E2=80=94=E2=80=94=E2=80=94
>=20
> A job to deploy the latest snapshot is running: https://ci-builds.apache=
.org/job/Tomee/job/master-deploy/12937/
>=20
> Gru=C3=9F
> Richard
>=20
>> Am 13.07.2025 um 10:30 schrieb Wolfgang Knauf <[email protected]=
VALID>:
>>
>> I reopened https://issues.apache.org/jira/browse/TOMEE-4474 and attache=
d a reproducer.
>>
>> I am not sure whether it is really related to Java 24, but my sample wo=
rks with Java 17 and fails with 24. If my conclusion is not correct, I can=
 create a new one.
>>
>> Gr=C3=BC=C3=9Fe
>>
>> Wolfgang
>>
>> Am 12.07.25 um 20:31 schrieb Richard Zowalla:
>>> If that still doesn't work, maybe you could put up a simple reproducer=
 project, which mimics your case and we can have a look.
>>> Gru=C3=9F
>>> Richard
>>> On 2025/07/12 18:23:08 Richard Zowalla wrote:
>>>> I see. You can check out TomEE main, run a mvn clean install with ski=
pped test. It only needs a JDK 17.
>>>>
>>>> That should install everything you need locally, so you can just use =
it as usual.
>>>>
>>>> Regarding browser download: yeah, might be an ASF INFRA restriction :=
-)
>>>>
>>>> Gru=C3=9F
>>>> Richard
>>>>
>>>> Am 12. Juli 2025 19:15:27 MESZ schrieb Wolfgang Knauf <wolfgang.knauf=
@gmx.de.INVALID>:
>>>>> Well, this did not work for me (the project where I want to test the=
 new version uses ShrinkWrap resolver to download the container and I did =
not manage to make it use the snapshot repository), but I found out that I=
 can configure the direct URL to the tomee artifact in the project.
>>>>> But this resulted in the same error.
>>>>>
>>>>> Or is it related to me not using the arquillian container artifact f=
rom "https://repository.apache.org/content/groups/snapshots/org/apache/tom=
ee/arquillian-tomee-remote/10.1.1-SNAPSHOT/"?
>>>>>
>>>>> About not being able to download files by browser: firefox console r=
eports this error:
>>>>>
>>>>> Das Herunterladen von "https://repository.apache.org/content/groups/=
snapshots/org/apache/tomee/apache-tomee/10.1.1-SNAPSHOT/apache-tomee-10.1.=
1-20250712.035301-33-webprofile.zip" wurde blockiert, weil f=C3=BCr den au=
sl=C3=B6senden iframe das sandbox-Attribut gesetzt ist.
>>>>>
>>>>> So it seems it is intended to block manual downloads?
>>>>>
>>>>> Best regards
>>>>>
>>>>> Wolfgang
>>>>>
>>>>>
>>>>> Am 12.07.25 um 13:53 schrieb Richard Zowalla:
>>>>>> Hi Wolfgang,
>>>>>>
>>>>>> You could try to configure the pluginRepository / repository into y=
our local Maven POM for testing the snapshots:
>>>>>>
>>>>>> <repositories>
>>>>>>     <repository>
>>>>>>       <id>apache</id>
>>>>>>       <url>https://repository.apache.org/snapshots/</url>
>>>>>>       <releases>
>>>>>>         <enabled>false</enabled>
>>>>>>       </releases>
>>>>>>       <snapshots>
>>>>>>         <enabled>true</enabled>
>>>>>>       </snapshots>
>>>>>>     </repository>
>>>>>> </repositories>
>>>>>>
>>>>>> You can reference the snapshot directly in your build afterwards. S=
imilar can be done for <pluginRepository>.
>>>>>>
>>>>>> Gru=C3=9F
>>>>>> Richard
>>>>>>
>>>>>>> Am 12.07.2025 um 11:14 schrieb Wolfgang Knauf <wolfgang.knauf@gmx.=
de.INVALID>:
>>>>>>>
>>>>>>> There might be a problem with snapshot "apache-tomee-10.1.1-202507=
12.035301-33-webprofile.zip"
>>>>>>>
>>>>>>> (by the way: I cannot click the download links in a browser, had t=
o use "wget" to download it. Tried two different browsers and two OS)
>>>>>>>
>>>>>>>
>>>>>>> I tested it with an arquillian project, where the tomee container =
is pulled from maven and managed by "org.apache.tomee:arquillian-tomee-rem=
ote", so I had to replace the 10.1.0 version in my local maven repository =
with the snapshot (replaced "C:\Users\MYUSERNAME\.m2\repository\org\apache=
\tomee\apache-tomee\10.1.0\apache-tomee-10.1.0-webprofile.zip" with snapsh=
ot file and renamed directory "apache-tomee-webprofile-10.1.1-SNAPSHOT" to=
 "apache-tomee-webprofile-10.1.0" in zip).
>>>>>>>
>>>>>>> Attached is the output of a maven run using Java 24. At some point=
, it starts printing thousands of errors:
>>>>>>>
>>>>>>> java.util.concurrent.ExecutionException: java.lang.IllegalArgument=
Exception: can't parse argument number:
>>>>>>> 	at java.base/java.util.concurrent.FutureTask.report(FutureTask.ja=
va:124)
>>>>>>> 	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:=
193)
>>>>>>> 	at org.apache.openejb.util.Memoizer.compute(Memoizer.java:63)
>>>>>>> 	at org.apache.openejb.util.Logger.formatMessage(Logger.java:398)
>>>>>>> 	at org.apache.openejb.util.Logger.warning(Logger.java:643)
>>>>>>> 	at org.apache.openejb.core.security.AbstractSecurityService.isCal=
lerAuthorized(AbstractSecurityService.java:398)
>>>>>>> 	at org.apache.openejb.core.singleton.SingletonContainer.invoke(Si=
ngletonContainer.java:192)
>>>>>>> 	at org.apache.openejb.core.ivm.EjbHomeProxyHandler.create(EjbHome=
ProxyHandler.java:343)
>>>>>>> 	at org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHom=
eProxyHandler.java:196)
>>>>>>> 	at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjb=
ProxyHandler.java:349)
>>>>>>> 	at jdk.proxy3/jdk.proxy3.$Proxy30.create(Unknown Source)
>>>>>>> 	at org.apache.openejb.core.ivm.naming.BusinessRemoteReference.get=
Object(BusinessRemoteReference.java:36)
>>>>>>> 	at org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContex=
t.java:186)
>>>>>>> 	at org.apache.openejb.server.ejbd.JndiRequestHandler.doLookup(Jnd=
iRequestHandler.java:261)
>>>>>>> 	at org.apache.openejb.server.ejbd.JndiRequestHandler.processRespo=
nse(JndiRequestHandler.java:174)
>>>>>>> 	at org.apache.openejb.server.ejbd.EjbDaemon.processJndiResponse(E=
jbDaemon.java:380)
>>>>>>> 	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.jav=
a:282)
>>>>>>> 	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.jav=
a:104)
>>>>>>> 	at org.apache.openejb.server.httpd.ServerServlet.service(ServerSe=
rvlet.java:60)
>>>>>>> 	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
>>>>>>> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilt=
er(ApplicationFilterChain.java:195)
>>>>>>> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli=
cationFilterChain.java:140)
>>>>>>> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardW=
rapperValve.java:167)
>>>>>>> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardC=
ontextValve.java:90)
>>>>>>> 	at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.jav=
a:45)
>>>>>>> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHost=
Valve.java:116)
>>>>>>> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport=
Valve.java:93)
>>>>>>> 	at org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCaptu=
rer.invoke(OpenEJBSecurityListener.java:97)
>>>>>>> 	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(Abstr=
actAccessLogValve.java:666)
>>>>>>> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEn=
gineValve.java:74)
>>>>>>> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdap=
ter.java:344)
>>>>>>> 	at org.apache.coyote.http11.Http11Processor.service(Http11Process=
or.java:398)
>>>>>>> 	at org.apache.coyote.AbstractProcessorLight.process(AbstractProce=
ssorLight.java:63)
>>>>>>> 	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(A=
bstractProtocol.java:903)
>>>>>>> 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(N=
ioEndpoint.java:1769)
>>>>>>> 	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProce=
ssorBase.java:52)
>>>>>>> 	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(Th=
readPoolExecutor.java:1189)
>>>>>>> 	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(T=
hreadPoolExecutor.java:658)
>>>>>>> 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run=
(TaskThread.java:63)
>>>>>>> 	at java.base/java.lang.Thread.run(Thread.java:1447)
>>>>>>> Caused by: java.lang.IllegalArgumentException: can't parse argumen=
t number:
>>>>>>> 	at java.base/java.text.MessageFormat.setFormatFromPattern(Message=
Format.java:1644)
>>>>>>> 	at java.base/java.text.MessageFormat.applyPatternImpl(MessageForm=
at.java:660)
>>>>>>> 	at java.base/java.text.MessageFormat.<init>(MessageFormat.java:51=
6)
>>>>>>> 	at org.apache.openejb.util.Memoizer$1.call(Memoizer.java:52)
>>>>>>> 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:=
328)
>>>>>>> 	at org.apache.openejb.util.Memoizer.compute(Memoizer.java:59)
>>>>>>> 	... 37 more
>>>>>>> Caused by: java.lang.NumberFormatException: For input string: ""
>>>>>>> 	at java.base/java.lang.NumberFormatException.forInputString(Numbe=
rFormatException.java:67)
>>>>>>> 	at java.base/java.lang.Integer.parseInt(Integer.java:541)
>>>>>>> 	at java.base/java.lang.Integer.parseInt(Integer.java:661)
>>>>>>> 	at java.base/java.text.MessageFormat.setFormatFromPattern(Message=
Format.java:1642)
>>>>>>> 	... 42 more
>>>>>>>
>>>>>>> Seems the server is not stopped or it takes too long to print all =
thoses errors, I killed it after a few seconds an 1GB of log file ;-)
>>>>>>>
>>>>>>> The project where the issue occured uses arquillian and "org.apach=
e.tomee:arquillian-tomee-remote". In the failed run, I still used 10.1.0 o=
f this plugin, without trying to replace it with a snapshot version. Is it=
 maybe caused by this one?
>>>>>>>
>>>>>>>
>>>>>>> Best regards
>>>>>>>
>>>>>>> Wolfgang
>>>>>>>
>>>>>>> Am 11.07.25 um 22:14 schrieb Wolfgang Knauf:
>>>>>>>> Thanks, great work.
>>>>>>>> I will give it a try the next few days and report back if there a=
re further problems.
>>>>>>>> Best regards
>>>>>>>> Wolfgang
>>>>>>>> Am 11.07.25 um 14:15 schrieb Richard Zowalla:
>>>>>>>>> Hi Wolfgang,
>>>>>>>>>
>>>>>>>>> we just pushed some changes, which should allow TomEE to run on =
Java 24 (with some limitations regarding EJB method security, etc.)
>>>>>>>>>
>>>>>>>>> Nightlies should be available via https://repository.apache.org/=
 content/groups/snapshots/org/apache/tomee/apache-tomee/10.1.1- SNAPSHOT/ =
soon.
>>>>>>>>>
>>>>>>>>> Gru=C3=9F
>>>>>>>>> Richard
>>>>>>>>>
>>>>>>>>> On 2025/04/04 08:28:20 Wolfgang Knauf wrote:
>>>>>>>>>> Hi all,
>>>>>>>>>>
>>>>>>>>>> (sorry if this is a duplicate one, I already sent it a few days=
 ago, but as it did not appear, I think it might be related to the fact th=
at I did not subscribe to the list)
>>>>>>>>>>
>>>>>>>>>> TomEE 10.0.1 fails to launch with Java 24:
>>>>>>>>>>
>>>>>>>>>> 01-Apr-2025 13:10:36.888 SCHWERWIEGEND [main] org.apache.openej=
b.util.OpenEJBErrorHandler.handleUnknownError FATAL ERROR: Unknown error i=
n Assembler. Please send the following stack trace and this message to use=
[email protected] :
>>>>>>>>>> org.apache.xbean.recipe.ConstructionException: Error invoking c=
onstructor: public org.apache.tomee.catalina.TomcatSecurityService()
>>>>>>>>>>      at org.apache.xbean.recipe.ReflectionUtil$ConstructorFacto=
ry.create(ReflectionUtil.java:981)
>>>>>>>>>>      at org.apache.xbean.recipe.ObjectRecipe.internalCreate(Obj=
ectRecipe.java:279)
>>>>>>>>>>      at org.apache.xbean.recipe.AbstractRecipe.create(AbstractR=
ecipe.java:96)
>>>>>>>>>>      at org.apache.xbean.recipe.AbstractRecipe.create(AbstractR=
ecipe.java:61)
>>>>>>>>>>      at org.apache.xbean.recipe.AbstractRecipe.create(AbstractR=
ecipe.java:49)
>>>>>>>>>>      at org.apache.openejb.assembler.classic.Assembler.createSe=
curityService(Assembler.java:3553)
>>>>>>>>>>      at org.apache.openejb.assembler.classic.Assembler.buildCon=
tainerSystem(Assembler.java:579)
>>>>>>>>>>      at org.apache.openejb.assembler.classic.Assembler.build(As=
sembler.java:497)
>>>>>>>>>>      at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java=
:150)
>>>>>>>>>>      at org.apache.openejb.OpenEJB.init(OpenEJB.java:307)
>>>>>>>>>>      at org.apache.tomee.catalina.TomcatLoader.initialize(Tomca=
tLoader.java:244)
>>>>>>>>>>      at org.apache.tomee.catalina.ServerListener.lifecycleEvent=
(ServerListener.java:161)
>>>>>>>>>>      at org.apache.catalina.util.LifecycleBase.fireLifecycleEve=
nt(LifecycleBase.java:109)
>>>>>>>>>>      at org.apache.catalina.util.LifecycleBase.setStateInternal=
(LifecycleBase.java:389)
>>>>>>>>>>      at org.apache.catalina.util.LifecycleBase.init(LifecycleBa=
se.java:123)
>>>>>>>>>>      at org.apache.catalina.startup.Catalina.load(Catalina.java=
:712)
>>>>>>>>>>      at org.apache.catalina.startup.Catalina.load(Catalina.java=
:735)
>>>>>>>>>>      at java.base/ jdk.internal.reflect.DirectMethodHandleAcces=
sor.invoke(DirectMethodHandleAccessor.java:104)
>>>>>>>>>>      at java.base/java.lang.reflect.Method.invoke(Method.java:5=
65)
>>>>>>>>>>      at org.apache.catalina.startup.Bootstrap.load(Bootstrap.ja=
va:302)
>>>>>>>>>>      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.ja=
va:472)
>>>>>>>>>> Caused by: java.lang.IllegalStateException: Could not install J=
ACC Policy Provider: org.apache.openejb.core.security.JaccProvider$Policy
>>>>>>>>>>      at org.apache.openejb.core.security.AbstractSecurityServic=
e.installPolicy(AbstractSecurityService.java:443)
>>>>>>>>>>      at org.apache.openejb.core.security.AbstractSecurityServic=
e.installJacc(AbstractSecurityService.java:431)
>>>>>>>>>>      at org.apache.openejb.core.security.AbstractSecurityServic=
e.<init>(AbstractSecurityService.java:94)
>>>>>>>>>>      at org.apache.openejb.core.security.AbstractSecurityServic=
e.<init>(AbstractSecurityService.java:88)
>>>>>>>>>>      at org.apache.tomee.catalina.TomcatSecurityService.<init>(=
TomcatSecurityService.java:55)
>>>>>>>>>>      at java.base/ jdk.internal.reflect.DirectConstructorHandle=
Accessor.newInstance(DirectConstructorHandleAccessor.java:62)
>>>>>>>>>>      at java.base/ java.lang.reflect.Constructor.newInstanceWit=
hCaller(Constructor.java:499)
>>>>>>>>>>      at java.base/ java.lang.reflect.Constructor.newInstance(Co=
nstructor.java:483)
>>>>>>>>>>      at org.apache.xbean.recipe.ReflectionUtil$ConstructorFacto=
ry.create(ReflectionUtil.java:971)
>>>>>>>>>> ... 20 more
>>>>>>>>>> Caused by: java.lang.UnsupportedOperationException: Setting a s=
ystem- wide Policy object is not supported
>>>>>>>>>>      at java.base/java.security.Policy.setPolicy(Policy.java:11=
4)
>>>>>>>>>>      at org.apache.openejb.core.security.AbstractSecurityServic=
e.installPolicy(AbstractSecurityService.java:441)
>>>>>>>>>> ... 28 more
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Is there something I should do about this (file a JIRA issue), =
or is the Java 24 support already on your roadmap?
>>>>>>>>>>
>>>>>>>>>> Best regards
>>>>>>>>>>
>>>>>>>>>> Wolfgang
>>>>>>>>>>
>>>>>>> <log.txt>
>>>>>>
>>>>>
>>>>
>>
>=20
>=20