Mailing List Message #393
From: Ramsey Gurley <>
Subject: Re: [WO-DEV] When add-exports ALL-UNNAMED is not enough (Java 17)
Date: Thu, 8 Dec 2022 00:55:02 +0000
To: WebObjects & WOnder Development <>
Hi Aaron,

I did some work on this about 3 months ago. Wonder's master branch should build properly on latest Java with maven ($mvn clean install). It should also build in your eclipse workspace if you import them as maven projects. I think the .project files are in the repo, so you may only need to import them and eclipse will figure out they are maven projects. I've also put together a sample wonder project that can run in your eclipse workspace or build into a docker container at

That's a bit old now and I have actually put together a maven archetype to produce a project like that with a few improvements since then, but I haven't gotten around to publishing it anywhere. There has been some discussion on the mailing list about adding one for D2W and a WOFramework and pushing those three onto maven central. I just have the one Wonder App archetype at the moment though.

There's been a bit of discussion about making a new build with the recent changes, but so far that hasn't been done. It should be simple enough to do, but I don't have credentials on the wocommunity jenkins server to do that myself. I used to have ssh to that, but I've long since lost that ssh key.


From: WebObjects & WOnder Development <> on behalf of Aaron Rosenzweig <>
Sent: Thursday, December 8, 2022 7:42 AM
To: WebObjects & WOnder Development <>
Subject: [WO-DEV] When add-exports ALL-UNNAMED is not enough (Java 17)
[You don't often get email from Learn why this is important at ]

Hi WOrriors,

I’m upgrading to Java 17 from Java 1.8 and have run into snags in my local Eclipse workspace. Perhaps you’ve struggled with this too?

In general, this VM argument is helpful but not enough: --add-exports java.base/

The issue has to do with changes from Java 1.8 and java modules.

I can use 1.8 compatibility mode with my workspace (from Java 17 VM) and there are no errors and no problems.

When I change to Java 17 compatibility mode, it falls apart.

My java apps are ok, but many of the WOnder frameworks don’t build anymore.

For example ERAttachment. I have this error: The package org.xml.sax is accessible from more than one module: <unnamed>, java.xml

To me that means that it is available in a system module “java.xml” and also in some old jar file… two places.

I clicked on ERAttachment (in WO Explorer pane) and then right click to do "build path" and then "configure build path." I then went to the last tab "Module Dependencies" clicked "java.xml" and then clicked "remove." It gave me warnings that other things use it but I did it anyway. Now the errors are gone for org.xml.sax.Attributes and similar imports. Yay!

I’m not done yet but I did similar things as follows:
        • ERAttachment - remove java.xml
        • ERRest - remove java.xml
        • ERChangeNotificationJMS - remove java.naming
        • ExcelGenerator - remove java.xml
        • ERPDFGeneration - remove java.xml
        • ERSelenium - remove java.xml
        • ERXiss - remove java.xml
        • DRGrouping - remove java.xml
        • ERJaxWS - remove java.xml
        • ERProfiling - lost cause? jdk.internal.loader is inaccessible so I closed the project in my workspace (and am not currently using it).

I’m still coming to grips with all this but I have following unresolved and possibly incorrectly stated questions:

1) Do most of us run with 1.8 compatibility in newer JVMs and leave it at that?

2) Do some of us run with newer VM compatibility modes (to access new features of Java) but then use “ALL-UNNAMED” hacks along with removing system module hacks like I was talking about above?

3) Do some of us use pre-built jars of Wonder and not build from source in our Eclipse projects to get around some of these issues? But if so, that means it’s not as nice to just dive into the source code and quickly trace / change things as we are working...

4) Should we consider putting WOnder frameworks into module friendly configurations? Or is that not possible because we need to support Java 1.8 too?

5) What is the best way to use Java 17 VM along with any new java syntax / functionality while still using WOnder frameworks?

Thanks to all for reading this far :-)
— Aaron
This message is sent to you because you are subscribed to
  the mailing list <>.
To unsubscribe, E-mail to: <>
To switch to the DIGEST mode, E-mail to <>
To switch to the INDEX mode, E-mail to <>
Send administrative queries to  <>

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