You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Ian Vellosa <ve...@btopenworld.com> on 2006/12/11 10:34:27 UTC

[m2] Maven and XDoclet2 building EJBs?

Good morning all!

I feel like I've been banging my head against a wall here for the
last 4 days now on this one. I have also been unable to find any
useful information searching the mailing lists and google and all the
usual channels, so was hoping that someone here could help as my last
resort! 

I am trynig to use the xdoclet2 EJB plugin to build my EJBs - as I
have done previously, using xdoclet 1. 

As I mentioned I was unable to find any examples of EJB builds, so
took the build from the codehaus site (
http://xdoclet.codehaus.org/Maven2+plugin ) and started to hack at
this. I have ended up with the following section: 


<plugin>
  <groupId>xdoclet</groupId>
  <artifactId>maven2-xdoclet2-plugin</artifactId>
  <version>2.0.5-SNAPSHOT</version>
        
  <executions>
    <execution>
      <id>xdoclet</id>
      <phase>generate-sources</phase>
      <goals>
        <goal>xdoclet</goal>
      </goals>
    </execution>
  </executions>

  <configuration>
    <configs>
      <config>
        <components>
	  <component>
	   
<classname>org.xdoclet.plugin.ejb.descriptor.EjbJarXmlPlugin</classname>
          </component>
        </components>
        <includes>**/*XDoc.java</includes>
        <params>
         
<destdir>${project.build.directory}/generated-resources/xdoclet</destdir>
        </params>
      </config>
    </configs>
  </configuration>
</plugin>


When I run this I get the exception trace:

[INFO] [2-xdoclet2:xdoclet {execution: xdoclet}]
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO]
------------------------------------------------------------------------
[INFO] XDoclet plugin failed: Class Not Found: Classloader URLs
(classpath):


org.xdoclet.plugin.ejb.descriptor.EjbJarXmlPlugin
[INFO]
------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: XDoclet
plugin failed: Class Not Found: Classloader URLs (classpath):

    at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:559)
    ...
    at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: XDoclet
plugin failed: Class Not Found: Classloader URLs (classpath):

    at org.codehaus.xdoclet.XDocletMojo.execute(XDocletMojo.java:158)
    
    ...
Caused by: java.lang.RuntimeException: Class Not Found: Classloader
URLs (classpath):

    at
org.codehaus.xdoclet.XDocletMojo$PluginContainerComposer.composeContainer(XDocletMojo.java:92)
    ...

Caused by: java.lang.ClassNotFoundException: Classloader URLs
(classpath):

    at
org.nanocontainer.DefaultNanoContainer$URLPrintingClassLoader.findClass(DefaultNanoContainer.java:169)
    ...
Caused by: java.lang.ClassNotFoundException:
org.xdoclet.plugin.ejb.descriptor.EjbJarXmlPlugin
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at
org.nanocontainer.DefaultNanoContainer$URLPrintingClassLoader.findClass(DefaultNanoContainer.java:167)
        ... 27 more
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 5 seconds
[INFO] Finished at: Mon Dec 11 10:22:04 CET 2006
[INFO] Final Memory: 6M/80M
[INFO]
------------------------------------------------------------------------


(Ihave also got quite a few issues with the POM versions.)

So I have ensured that there is a dependency in both the POM and the
plugin:

  <dependency>
    <groupId>xdoclet-plugins</groupId>
    <artifactId>xdoclet-taglib-plugin</artifactId>
    <version>1.0.4-SNAPSHOT</version>
  </dependency>        

Which did not help my situation at all.

I then added the JAR file directly into the maven classpath and get
the next error: 

[INFO] [2-xdoclet2:xdoclet {execution: xdoclet}]
[INFO]
------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO]
------------------------------------------------------------------------
[INFO] org/generama/defaults/QDoxPlugin
[INFO]
------------------------------------------------------------------------
[INFO] Trace
java.lang.NoClassDefFoundError: org/generama/defaults/QDoxPlugin
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
    at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    ....
    at java.lang.reflect.Method.invoke(Method.java:585)
    at
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
    at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
    at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
    at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 5 seconds
[INFO] Finished at: Mon Dec 11 10:28:22 CET 2006
[INFO] Final Memory: 6M/80M
[INFO]
------------------------------------------------------------------------

Adding things into the Maven classpath isn't the way to go, but it
was an attempt to get this working (quickly).  

Now I am really lost and hoping that someone can point me in the
right direction. 

We are using:
    - Java version: 1.5.0_06
    - Maven 2.0.4
    - Linux (2.6.11 kernel) 

Thanks in advance for any help.
IV


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org