[jbossts-issues] [JBoss JIRA] (JBTM-2182) [quickstart] NoClassDefFoundError on ArjunaJTA/maven

Andrew Rubinger (JIRA) issues at jboss.org
Fri May 23 05:46:57 EDT 2014

    [ https://issues.jboss.org/browse/JBTM-2182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12970025#comment-12970025 ] 

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.


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

More information about the jbossts-issues mailing list