Just following up in case anyone else struggles here. I added the
following to my pom, and I no longer need the add-modules option if I
also add the jaxb-impl library:
<dependency>
<groupId>javax.xml</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.1</version>
</dependency>
So, in order to run my setup right now without using the --add-modules
command for anything I needed to add jaxb-api, jaxws-api, and jaxb-impl.
On Tuesday, October 23, 2018 at 4:39:37 PM UTC-4, Joseph Dornisch wrote:
So, I definitely have jaxb-api-2.3.1.jar in my classpath, but in
order to run org.jooq.codegen.GenerationTool I still need to add the
java.xml.bind module with --add-modules (java9).
Do I need a different jaxb - I added:
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
to my pom.xml and when I copy the dependencies the jar file is
definitely sitting there.
Any suggestions on what dependencies resolve the issue? Or does this
require an update to the jaxb library?
On Tuesday, October 23, 2018 at 4:03:05 AM UTC-4, Lukas Eder wrote:
We'll fully support Java 11 with jOOQ 3.12. Until then,
unfortunately, our internal JAXB dependencies cause trouble with
projects upgrading to any of Java 9-11, in different ways. These
things have been moving targets within the JDK for 2 reasons:
- Java 9/10 introduced modularity and that caused problems with
the JAXB dependency, which still shipped with the JDK, but was
no longer on the module path by default (it could be added using
--add-modules java.xml.bind)
- Java 11 removed JAXB (and CORBA, good riddance) from the JDK,
so --add-modules java.xml.bind should no longer work, you need
an actual JAXB dependency on your classpath)
This is the same with all libraries that have a JAXB dependency,
unfortunately.
Thanks,
Lukas
On Mon, Oct 22, 2018 at 11:22 PM Marshall Pierce
<[email protected]> wrote:
As far as I've found, you're not going to get away from the
sun packages until jaxb 2.4.0 is released, which is supposed
to be module-friendly. The JVM will emit warnings about
jaxb-impl accessing ClassLoader.defineClass, but it does
work and doesn't require modifying your cli invocation.
On Monday, October 22, 2018 at 3:13:04 PM UTC-6, Joseph
Dornisch wrote:
Using the javax.xml.ws <http://javax.xml.ws> made sense
to me since I avoided using a deprecated or internal
library from Java. I don't like that I still used
"--add-modules java.xml.bind" for CodeGen, as it doesn't
remove this dependency going forward.
Your solution still makes use of sun packages, which I
think it would be better to avoid. I actually put
javax.xml.bind/jaxb-api in my pom.xml file as well, but
it didn't seem to help out.
On Monday, October 22, 2018 at 4:39:43 PM UTC-4,
Marshall Pierce wrote:
Oops, I misspoke -- jaxws-rt has those three
transitive dependencies; jaxws-api only has some of
them.
On Monday, October 22, 2018 at 2:26:45 PM UTC-6,
Joseph Dornisch wrote:
So, I'm updating my own small project from java
8 - currently to 9 and will move to 11 later
today.
In order to generate the jooq source (which I
don't do via maven currently, I added
'--add-modules java.xml.bind' to the command:
java --add-modules java.xml.bind
org.jooq.codegen.GenerationTool codegen.xml
Then to compile my code along with the generated
code, I added the following dependency to my
pom.xml file:
<dependency>
<groupId>javax.xml.ws
<http://javax.xml.ws></groupId>
<artifactId>jaxws-api</artifactId>
<version>2.3.1</version>
</dependency>
Is this the generally preferred way of moving
forwards with jooq with java 9,10,11 right now?
Is there some other replacement dependency I
should use for code generation similarly to
adding the javax.xml.ws <http://javax.xml.ws>
dependency?
Sorry, if this is covered elsewhere, I did try
to find information in the online jooq
documentation.
Thanks.
-- You received this message because you are
subscribed to the
Google Groups "jOOQ User Group" group.
To unsubscribe from this group and stop receiving emails
from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
You received this message because you are subscribed to the Google
Groups "jOOQ User Group" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.