[ 
https://issues.apache.org/jira/browse/SUREFIRE-1424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16184813#comment-16184813
 ] 

Tibor Digana edited comment on SUREFIRE-1424 at 9/28/17 8:25 PM:
-----------------------------------------------------------------

I added {{--add-modules java.se.ee}} to Version {{2.20.1}} because we wanted to 
fix such ClassLoader issues reported in Jira.
This is not a regression and not a bug in Surefire. This is actually problem 
with Oracle because broke backwards compatibility. Several years ago Oracle 
planned to design JDK in a way that JDK would be extensible. So if you imaging 
that you put {{javax}} extensions JAR {{javax.transctions.jar}} as a module, 
this could extend Java SE API with JTA from Java EE7.
This mechanism does not exist and the only thing is to apply {{--add-modules 
java.se.ee}} or any other module in {{.mvn/jvm.config}} or add 
{{javax:javaee-api:7.0}}.
Another issue is that Java API is not exposes however it is inside.
Oracle says that {{javax.xml.bind}} and {{javax.activation}} is EE related. I 
disagree. This is also SE and people use it in console Swing applications. The 
plan is to delete several APIs.


was (Author: tibor17):
I added {{--add-modules java.se.ee}} to Version {{2.20.1}} because we wanted to 
fix such ClassLoader issues reported in Jira.
This is not a regression and not a bug in Surefire. This is actually problem 
with Oracle because broke backwards compatibility. Several years ago Oracle 
planned to design JDK in a way that JDK would be extensible. So if you imaging 
that you put {{javax}} extensions JAR {{javax.transctions.jar}} as a module, 
this could extend Java SE API with JTA from Java EE7.
Another issue is that Java API is not exposes however it is inside. This 
mechanism does not exist and the only thing is to apply {{--add-modules 
java.se.ee}} or any other module in {{.mvn/jvm.config}} or add 
{{javax:javaee-api:7.0}}.
Oracle says that {{javax.xml.bind}} and {{javax.activation}} is EE related. I 
disagree. This is also SE and people use it in console Swing applications. The 
plan is to delete several APIs.

> javax.transaction.TransactionManager not visible with Java9
> -----------------------------------------------------------
>
>                 Key: SUREFIRE-1424
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1424
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: Maven Surefire Plugin
>    Affects Versions: 2.20.1
>         Environment: Apache Maven 3.5.0 
> (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-03T21:39:06+02:00)
> Maven home: /Users/snicoll/tools/maven
> Java version: 9, vendor: Oracle Corporation
> Java home: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
> Default locale: en_BE, platform encoding: UTF-8
> OS name: "mac os x", version: "10.12.6", arch: "x86_64", family: "mac"
>            Reporter: Stephane Nicoll
>            Assignee: Tibor Digana
>
> I am trying to port Spring Boot to Java9 and I am hitting an issue that looks 
> like Maven specific. I've managed to trim down the problem to [a simple class 
> that doesn't involve Spring 
> Boot|https://github.com/snicoll-scratches/test-jta-java9]
> If I run this project on the command line, I get the following:
> {noformat}
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.043 s <<< 
> FAILURE! - in com.example.testjtajava9.TestJtaJava9ApplicationTests
> contextLoads(com.example.testjtajava9.TestJtaJava9ApplicationTests)  Time 
> elapsed: 0.006 s  <<< ERROR!
> java.lang.NoClassDefFoundError: javax/transaction/TransactionManager
>       at 
> com.example.testjtajava9.TestJtaJava9ApplicationTests.contextLoads(TestJtaJava9ApplicationTests.java:9)
> Caused by: java.lang.ClassNotFoundException: 
> javax.transaction.TransactionManager
>       at 
> com.example.testjtajava9.TestJtaJava9ApplicationTests.contextLoads(TestJtaJava9ApplicationTests.java:9)
> {noformat}
> If I run that test with IntelliJ IDEA, it passes. This sample project has 
> also a simple Gradle build that shows it works with Gradle as well.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to