Mailing List webobjects-dev@wocommunity.org Message #235
From: Ramsey Gurley <webobjects-dev@wocommunity.org>
Subject: Re: [WO-DEV] java.lang.IllegalAccessError: class com.webobjects.foundation.NSTimeZone (in unnamed module @0x6c2c1385) cannot access class sun.security.action.GetPropertyAction
Date: Mon, 23 Aug 2021 22:48:47 +0000
To: WebObjects & WOnder Development <webobjects-dev@wocommunity.org>
Hey Markus,

Yeah, you need to do a

--add-exports java.base/sun.security.action=ALL-UNNAMED

for that on compile as well as run. You can add it to the compile with the maven-compiler-plugin and to run in eclipse, add it under VM args in the run config for your woapp. I have a maven build of a WO app in a docker container that works on Java 16 I've been working on in my spare time.

https://github.com/nullterminated/wodocker/blob/master/pom.xml

I need to add a readme, but if interested in building in a container, just

git clone git@github.com:nullterminated/wodocker.git
cd wodocker
mvn clean verify -Pdocker

to run it is,

docker run --rm -it -p 8080:8080 your.app/wodocker:latest

And then visit http://localhost:8080/

This assumes you have java 16, maven, and docker installed with docker configured such that you don't need sudo.

I was setting up a maven archetype for it, but the archetype:create-from-project goal doesn't seem to like the fluffy bunny layout and I end up with no java source files in the archetype.

Ramsey

> On Aug 23, 2021, at 11:56 PM, Markus Ruggiero (rucotec) <webobjects-dev@wocommunity.org> wrote:
>
> I am setting up a new virgin test environment
>
> latest BigSur 11.5.2
> latest JDK from Oracle (16.0.2)
> latest ant (1.10.11)
> latest Eclipse for Java Developer (4.20.0)
> WOlips from https://jenkins.wocommunity.org/job/WOLips_master/lastSuccessfulBuild/artifact/temp/dist/
>
> Installed WO through WOInstaller.jar
>       - had to run it several times. Each time it failed with unpacking after some more percentage has been processed. Eventually it made it to 100%
>
> Created WOLips.properties
> Downloaded Wonder-Master (7.3-snapshot)
>
> ant frameworks
>       - chokes on Profiling, just removed this framework -> success
> ant frameworks.install
>       - ok
>
> In Eclipse create my first WonderApplication, Eclipse workspace is set to Java Compiler 1.8 compliance, no other changes or configs.
>
> Run as WOApplication
> CRASH!
>
> Aug 23 16:37:28 BasicConcepts[49665] WARN  NSLog  - Application project found: Will locate resources in '/Users/ruggiero/Programming/eclipseWorkspace/BasicConcepts' rather than '/Users/ruggiero/Programming/eclipseWorkspace/BasicConcepts/' .
> Aug 23 16:37:28 BasicConcepts[49665] WARN  er.extensions.appserver.ERXResourceManager  - Application project found: Will locate resources in '/Users/ruggiero/Programming/eclipseWorkspace/BasicConcepts' rather than '/Users/ruggiero/Programming/eclipseWorkspace/BasicConcepts/'.
> Aug 23 16:37:28 BasicConcepts[49665] WARN  NSLog  - A fatal exception occurred: class com.webobjects.foundation.NSTimeZone (in unnamed module @0x6c2c1385) cannot access class sun.security.action.GetPropertyAction (in module java.base) because module java.base does not export sun.security.action to unnamed module @0x6c2c1385
> [2021-8-23 16:37:28 CEST] <main> java.lang.IllegalAccessError: class com.webobjects.foundation.NSTimeZone (in unnamed module @0x6c2c1385) cannot access class sun.security.action.GetPropertyAction (in module java.base) because module java.base does not export sun.security.action to unnamed module @0x6c2c1385
>       at com.webobjects.foundation.NSTimeZone.systemTimeZone(NSTimeZone.java:971)
>       at com.webobjects.foundation.NSTimeZone.defaultTimeZone(NSTimeZone.java:818)
>       at com.webobjects.foundation.NSTimestampFormatter.defaultFormatTimeZone(NSTimestampFormatter.java:734)
>       at com.webobjects.appserver.WOStatisticsStore.<clinit>(WOStatisticsStore.java:249)
>       at com.webobjects.appserver.WOApplication.<init>(WOApplication.java:853)
>       at er.extensions.appserver.ajax.ERXAjaxApplication.<init>(ERXAjaxApplication.java:30)
>       at er.extensions.appserver.ERXApplication.<init>(ERXApplication.java:1129)
>       at your.app.Application.<init>(Application.java:10)
>       at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>       at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:78)
>       at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>       at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
>       at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128)
>       at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:350)
>       at java.base/java.lang.Class.newInstance(Class.java:642)
>       at com.webobjects.appserver.WOApplication.main(WOApplication.java:547)
>       at er.extensions.appserver.ERXApplication.main(ERXApplication.java:890)
>       at your.app.Application.main(Application.java:7)
>
> APPLICATION SHUTDOWN SEQUENCE COMPLETE
>
> Anyone’s got an idea what’s wrong here? What am I missing? Is this related to Java16?
> Thanks a lot
> ---markus---
>
>

________________________________
Confidentiality Notice: This email, including all attachments and replies thereto, are covered by the Electronic Communications Privacy Act, 18 U.S.C. Sections 2510-2521 and are legally privileged. This information is confidential, and intended only for the use of the individuals or entities named above. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or the taking of any action in reliance on the contents of this transmitted information is strictly prohibited. Please notify us if you have received this transmission in error. Thank you.
Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster