maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tibor Digana (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SUREFIRE-1424) javax.transaction.TransactionManager not visible with Java9
Date Sat, 21 Oct 2017 08:36:00 GMT

    [ 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)

Mime
View raw message