[
https://issues.jboss.org/browse/JBTM-2182?page=com.atlassian.jira.plugin....
]
Andrew Rubinger commented on JBTM-2182:
---------------------------------------
I don't have a great solution with the Mains approach that fixes point 1) above.
I *could* fix 2), but the issue there is in scope=provided in dependencyManagement in a
parent POM, and I'm not certain what else this would affect by changing the parent.
Conversely, overriding on the child level is likely to not cover all the cases in which a
NCDFE my occur; I've run into 3 of these already in various test cases.
Honestly sounds like more a task for those guys familiar w/ the layout. :/ And I'd
also recommend putting "exec:exec" into your CI jobs so that if you're not
tracking proper unit tests, at least you'd get failure notifications in your builds.
S,
ALR
[quickstart] NoClassDefFoundError on ArjunaJTA/maven
----------------------------------------------------
Key: JBTM-2182
URL:
https://issues.jboss.org/browse/JBTM-2182
Project: JBoss Transaction Manager
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Demonstrator
Reporter: Andrew Rubinger
Assignee: Tom Jenkinson
Fix For: 5.0.3
[INFO] --- exec-maven-plugin:1.2:exec (default-cli) @ maven ---
Exception in thread "main" java.lang.RuntimeException:
java.lang.NoClassDefFoundError: Ljavax/transaction/TransactionManager;
at
com.arjuna.common.internal.util.propertyservice.BeanPopulator.getNamedInstance(BeanPopulator.java:81)
at
com.arjuna.common.internal.util.propertyservice.BeanPopulator.getDefaultInstance(BeanPopulator.java:49)
at
com.arjuna.ats.jta.common.jtaPropertyManager.getJTAEnvironmentBean(jtaPropertyManager.java:42)
at
com.arjuna.ats.jta.TransactionManager.transactionManager(TransactionManager.java:71)
at TransactionManagerExample.main(TransactionManagerExample.java:39)
Caused by: java.lang.NoClassDefFoundError: Ljavax/transaction/TransactionManager;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2570)
at java.lang.Class.getDeclaredFields(Class.java:1903)
at
com.arjuna.common.internal.util.propertyservice.BeanPopulator.configureFromProperties(BeanPopulator.java:135)
at
com.arjuna.common.internal.util.propertyservice.BeanPopulator.getNamedInstance(BeanPopulator.java:78)
... 4 more
Caused by: java.lang.ClassNotFoundException: javax.transaction.TransactionManager
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 9 more
Probably due to Tx API being in provided scope, not included in exec:exec under
src/java/main?
[INFO] +-
org.jboss.spec.javax.transaction:jboss-transaction-api_1.1_spec:jar:1.0.0.Final:provided
Also: NCDFE in javax_transaction/TransactionExample:
Exception in thread "main" java.lang.NoClassDefFoundError:
org/jboss/logging/Logger
Probably wanna audit the whole module; is this not tested in CI? Would suggest
re-implementing perhaps as unit tests instead of Main classes.
From Mike: It gets run under CI regularly (and the last build was on 22-May-2014
16:13:23). I can't remember the last time it failed. You should be able to just check
out the repo and type mvn clean install from the top
From Tom: I said that we might not run exec:exec in CI as some of the QS are quite
intricate and difficult to script.
--
This message was sent by Atlassian JIRA
(v6.2.3#6260)