Re: TomEE does not launch on Java 24

Richard Zowalla <[email protected]> Sat, 12 Jul 2025 18:31:03 -0000
Newsgroups gmane.comp.java.openejb.user
Message-ID <[email protected]>
If that still doesn't work, maybe you could put up a simple reproducer projec=
t, which mimics your case and we can have a look.

Gru=C3=9F=20
Richard=20

On 2025/07/12 18:23:08 Richard Zowalla wrote:
> I see. You can check out TomEE main, run a mvn clean install with skipped t=
est. It only needs a JDK 17.
>=20
> That should install everything you need locally, so you can just use it as =
usual.
>=20
> Regarding browser download: yeah, might be an ASF INFRA restriction :-)
>=20
> Gru=C3=9F=20
> Richard=20
>=20
> Am 12. Juli 2025 19:15:27 MESZ schrieb Wolfgang Knauf <[email protected]=
e.INVALID>:
> >Well, this did not work for me (the project where I want to test the new v=
ersion uses ShrinkWrap resolver to download the container and I did not manag=
e to make it use the snapshot repository), but I found out that I can configu=
re 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 from "h=
ttps://repository.apache.org/content/groups/snapshots/org/apache/tomee/arquil=
lian-tomee-remote/10.1.1-SNAPSHOT/"?
> >
> >About not being able to download files by browser: firefox console reports=
 this error:
> >
> >Das Herunterladen von "https://repository.apache.org/content/groups/snapsh=
ots/org/apache/tomee/apache-tomee/10.1.1-SNAPSHOT/apache-tomee-10.1.1-2025071=
2.035301-33-webprofile.zip" wurde blockiert, weil f=C3=BCr den ausl=C3=B6send=
en 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,
> >>=20
> >> You could try to configure the pluginRepository / repository into your l=
ocal Maven POM for testing the snapshots:
> >>=20
> >> <repositories>
> >>    <repository>
> >>      <id>apache</id>
> >>      <url>https://repository.apache.org/snapshots/</url>
> >>      <releases>
> >>        <enabled>false</enabled>
> >>      </releases>
> >>      <snapshots>
> >>        <enabled>true</enabled>
> >>      </snapshots>
> >>    </repository>
> >> </repositories>
> >>=20
> >> You can reference the snapshot directly in your build afterwards. Simila=
r can be done for <pluginRepository>.
> >>=20
> >> Gru=C3=9F
> >> Richard
> >>=20
> >>> Am 12.07.2025 um 11:14 schrieb Wolfgang Knauf <[email protected]=
VALID>:
> >>>=20
> >>> There might be a problem with snapshot "apache-tomee-10.1.1-20250712.03=
5301-33-webprofile.zip"
> >>>=20
> >>> (by the way: I cannot click the download links in a browser, had to use=
 "wget" to download it. Tried two different browsers and two OS)
> >>>=20
> >>>=20
> >>> I tested it with an arquillian project, where the tomee container is pu=
lled from maven and managed by "org.apache.tomee:arquillian-tomee-remote", so=
 I had to replace the 10.1.0 version in my local maven repository with the sn=
apshot (replaced "C:\Users\MYUSERNAME\.m2\repository\org\apache\tomee\apache-=
tomee\10.1.0\apache-tomee-10.1.0-webprofile.zip" with snapshot file and renam=
ed directory "apache-tomee-webprofile-10.1.1-SNAPSHOT" to "apache-tomee-webpr=
ofile-10.1.0" in zip).
> >>>=20
> >>> Attached is the output of a maven run using Java 24. At some point, it =
starts printing thousands of errors:
> >>>=20
> >>> java.util.concurrent.ExecutionException: java.lang.IllegalArgumentExcep=
tion: can't parse argument number:
> >>> 	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:12=
4)
> >>> 	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.isCallerAu=
thorized(AbstractSecurityService.java:398)
> >>> 	at org.apache.openejb.core.singleton.SingletonContainer.invoke(Singlet=
onContainer.java:192)
> >>> 	at org.apache.openejb.core.ivm.EjbHomeProxyHandler.create(EjbHomeProxy=
Handler.java:343)
> >>> 	at org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProx=
yHandler.java:196)
> >>> 	at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxy=
Handler.java:349)
> >>> 	at jdk.proxy3/jdk.proxy3.$Proxy30.create(Unknown Source)
> >>> 	at org.apache.openejb.core.ivm.naming.BusinessRemoteReference.getObjec=
t(BusinessRemoteReference.java:36)
> >>> 	at org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.jav=
a:186)
> >>> 	at org.apache.openejb.server.ejbd.JndiRequestHandler.doLookup(JndiRequ=
estHandler.java:261)
> >>> 	at org.apache.openejb.server.ejbd.JndiRequestHandler.processResponse(J=
ndiRequestHandler.java:174)
> >>> 	at org.apache.openejb.server.ejbd.EjbDaemon.processJndiResponse(EjbDae=
mon.java:380)
> >>> 	at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:282)
> >>> 	at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:104)
> >>> 	at org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet=
.java:60)
> >>> 	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
> >>> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Ap=
plicationFilterChain.java:195)
> >>> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(Applicatio=
nFilterChain.java:140)
> >>> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrappe=
rValve.java:167)
> >>> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContex=
tValve.java:90)
> >>> 	at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
> >>> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve=
.java:116)
> >>> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve=
.java:93)
> >>> 	at org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.i=
nvoke(OpenEJBSecurityListener.java:97)
> >>> 	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAc=
cessLogValve.java:666)
> >>> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineV=
alve.java:74)
> >>> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.j=
ava:344)
> >>> 	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.ja=
va:398)
> >>> 	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorL=
ight.java:63)
> >>> 	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(Abstra=
ctProtocol.java:903)
> >>> 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEnd=
point.java:1769)
> >>> 	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorB=
ase.java:52)
> >>> 	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadP=
oolExecutor.java:1189)
> >>> 	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(Thread=
PoolExecutor.java:658)
> >>> 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(Task=
Thread.java:63)
> >>> 	at java.base/java.lang.Thread.run(Thread.java:1447)
> >>> Caused by: java.lang.IllegalArgumentException: can't parse argument num=
ber:
> >>> 	at java.base/java.text.MessageFormat.setFormatFromPattern(MessageForma=
t.java:1644)
> >>> 	at java.base/java.text.MessageFormat.applyPatternImpl(MessageFormat.ja=
va:660)
> >>> 	at java.base/java.text.MessageFormat.<init>(MessageFormat.java:516)
> >>> 	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(NumberForm=
atException.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(MessageForma=
t.java:1642)
> >>> 	... 42 more
> >>>=20
> >>> Seems the server is not stopped or it takes too long to print all those=
s errors, I killed it after a few seconds an 1GB of log file ;-)
> >>>=20
> >>> The project where the issue occured uses arquillian and "org.apache.tom=
ee:arquillian-tomee-remote". In the failed run, I still used 10.1.0 of this p=
lugin, without trying to replace it with a snapshot version. Is it maybe caus=
ed by this one?
> >>>=20
> >>>=20
> >>> Best regards
> >>>=20
> >>> Wolfgang
> >>>=20
> >>> 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 are fu=
rther problems.
> >>>> Best regards
> >>>> Wolfgang
> >>>> Am 11.07.25 um 14:15 schrieb Richard Zowalla:
> >>>>> Hi Wolfgang,
> >>>>>=20
> >>>>> we just pushed some changes, which should allow TomEE to run on Java =
24 (with some limitations regarding EJB method security, etc.)
> >>>>>=20
> >>>>> Nightlies should be available via https://repository.apache.org/ cont=
ent/groups/snapshots/org/apache/tomee/apache-tomee/10.1.1- SNAPSHOT/ soon.
> >>>>>=20
> >>>>> Gru=C3=9F
> >>>>> Richard
> >>>>>=20
> >>>>> On 2025/04/04 08:28:20 Wolfgang Knauf wrote:
> >>>>>> Hi all,
> >>>>>>=20
> >>>>>> (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 that I did=
 not subscribe to the list)
> >>>>>>=20
> >>>>>> TomEE 10.0.1 fails to launch with Java 24:
> >>>>>>=20
> >>>>>> 01-Apr-2025 13:10:36.888 SCHWERWIEGEND [main] org.apache.openejb.uti=
l.OpenEJBErrorHandler.handleUnknownError FATAL ERROR: Unknown error in Assemb=
ler. Please send the following stack trace and this message to [email protected]=
ache.org :
> >>>>>> org.apache.xbean.recipe.ConstructionException: Error invoking constr=
uctor: public org.apache.tomee.catalina.TomcatSecurityService()
> >>>>>>     at org.apache.xbean.recipe.ReflectionUtil$ConstructorFactory.cre=
ate(ReflectionUtil.java:981)
> >>>>>>     at org.apache.xbean.recipe.ObjectRecipe.internalCreate(ObjectRec=
ipe.java:279)
> >>>>>>     at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.=
java:96)
> >>>>>>     at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.=
java:61)
> >>>>>>     at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.=
java:49)
> >>>>>>     at org.apache.openejb.assembler.classic.Assembler.createSecurity=
Service(Assembler.java:3553)
> >>>>>>     at org.apache.openejb.assembler.classic.Assembler.buildContainer=
System(Assembler.java:579)
> >>>>>>     at org.apache.openejb.assembler.classic.Assembler.build(Assemble=
r.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(TomcatLoade=
r.java:244)
> >>>>>>     at org.apache.tomee.catalina.ServerListener.lifecycleEvent(Serve=
rListener.java:161)
> >>>>>>     at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(Lif=
ecycleBase.java:109)
> >>>>>>     at org.apache.catalina.util.LifecycleBase.setStateInternal(Lifec=
ycleBase.java:389)
> >>>>>>     at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.jav=
a: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.DirectMethodHandleAccessor.in=
voke(DirectMethodHandleAccessor.java:104)
> >>>>>>     at java.base/java.lang.reflect.Method.invoke(Method.java:565)
> >>>>>>     at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:302)
> >>>>>>     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:472)
> >>>>>> Caused by: java.lang.IllegalStateException: Could not install JACC P=
olicy Provider: org.apache.openejb.core.security.JaccProvider$Policy
> >>>>>>     at org.apache.openejb.core.security.AbstractSecurityService.inst=
allPolicy(AbstractSecurityService.java:443)
> >>>>>>     at org.apache.openejb.core.security.AbstractSecurityService.inst=
allJacc(AbstractSecurityService.java:431)
> >>>>>>     at org.apache.openejb.core.security.AbstractSecurityService.<ini=
t>(AbstractSecurityService.java:94)
> >>>>>>     at org.apache.openejb.core.security.AbstractSecurityService.<ini=
t>(AbstractSecurityService.java:88)
> >>>>>>     at org.apache.tomee.catalina.TomcatSecurityService.<init>(Tomcat=
SecurityService.java:55)
> >>>>>>     at java.base/ jdk.internal.reflect.DirectConstructorHandleAccess=
or.newInstance(DirectConstructorHandleAccessor.java:62)
> >>>>>>     at java.base/ java.lang.reflect.Constructor.newInstanceWithCalle=
r(Constructor.java:499)
> >>>>>>     at java.base/ java.lang.reflect.Constructor.newInstance(Construc=
tor.java:483)
> >>>>>>     at org.apache.xbean.recipe.ReflectionUtil$ConstructorFactory.cre=
ate(ReflectionUtil.java:971)
> >>>>>> ... 20 more
> >>>>>> Caused by: java.lang.UnsupportedOperationException: Setting a system=
- wide Policy object is not supported
> >>>>>>     at java.base/java.security.Policy.setPolicy(Policy.java:114)
> >>>>>>     at org.apache.openejb.core.security.AbstractSecurityService.inst=
allPolicy(AbstractSecurityService.java:441)
> >>>>>> ... 28 more
> >>>>>>=20
> >>>>>>=20
> >>>>>>=20
> >>>>>> Is there something I should do about this (file a JIRA issue), or is=
 the Java 24 support already on your roadmap?
> >>>>>>=20
> >>>>>> Best regards
> >>>>>>=20
> >>>>>> Wolfgang
> >>>>>>=20
> >>> <log.txt>
> >>=20
> >
>=20