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

Tibor Digana commented on SUREFIRE-1424:
----------------------------------------

[~alanb]
[~AlanBateman]
Again, however I understand class loading issue, the Oracle did what they 
planned to initially to do. They wanted JDK/JRE to simply extend by adding jar 
modules. Now it is a precedence and anything can be changed so that you would 
not tell that it would be Java in few years. Java was built on fact that it was 
stable and not removed.
So they should rely on initial idea that {{javax}} packages and 
{{java.transaction}} are extensions and should go to separate jar file files 
and User would download them from Oracle's {{downloads.html}} and/or 
installation on Windows will interactively download it in to JRE 9 and 
reconstruct what people rely on. The bad is that you {{unplugged}} modules and 
{{removed}} classes without giving ability to get it back to previous status 
and not to accomplish the precedence.
Instead your arguments are {{because of EE}}, but it is not truth because Java 
Activation and JAXB are pure static utilities and annotations which have 
nothing to do with container managed app. You can easily run the utilities in 
{{public static void main()}}. You could make it so dynamic that application 
without {{module-info}} would behave as before and all modules are on classpath 
as it was in Java 8,and opposite in modular app. {{Now Surefire substitutes 
this behavior and I think this is what Users want}}. But no, Oracle 
{{dictated}} something and we have the problem, we have to do your job! This is 
the problem.

> 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