Hi,

I'm trying to migrate a project from ant to maven. This project has a
number of IDL files which we compile using the JacORB IDL compiler.
I found a Maven plugin, idlj-maven-plugin, which takes jacorb as a compiler.

I put together the following directory structure:

idl
|--  pom.xml
`--  src
      `--  main
            `--  idl
                  `-- [a number of idl files]

The pom.xml looks like this:

<project xmlns="http://maven.apache.org/POM/4.0.0";           
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
                                          
http://maven.apache.org/maven-v4_0_0.xsd";>
  <modelVersion>4.0.0</modelVersion>
  <groupId>my-project</groupId>
  <artifactId>idl</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>idl</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>org.jacorb</groupId>
      <artifactId>jacorb-idl-compiler</artifactId>
      <version>2.2.3</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
       <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>idlj-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>generate</goal>
             </goals>
          </execution>
        </executions>
        <configuration>
          <compiler>jacorb</compiler>
          <sources>
            <source>
              <includes>
                <include>*.idl</include>
              </includes>
            </source>
           </sources>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

When I issue the following command:

mvn -e package

Maven produces the following output:

+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] 
----------------------------------------------------------------------------
[INFO] Building idl
[INFO]    task-segment: [package]
[INFO] 
----------------------------------------------------------------------------
[INFO] [idlj:generate {execution: default}]
[INFO] Processing: /home/tinker/maven_test/idl/src/main/idl/ForwardModel.idl
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] JacORB IDL  compiler not found

Embedded error: org.jacorb.idl.parser
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: JacORB IDL compiler not 
found
 at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:564)
 at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
 at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
 at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
 at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
 at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
 at  org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
 at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 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)
Caused by: org.apache.maven.plugin.MojoExecutionException: JacORB IDL compiler 
not found
 at  
org.codehaus.mojo.idlj.JacorbTranslator.invokeCompiler(JacorbTranslator.java:177)
 at 
org.codehaus.mojo.idlj.AbstractIDLJMojo.processSource(AbstractIDLJMojo.java:121)
 at org.codehaus.mojo.idlj.AbstractIDLJMojo.execute(AbstractIDLJMojo.java:110)
 at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443)
 at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
 ... 16 more
Caused by: java.lang.ClassNotFoundException: org.jacorb.idl.parser
 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 java.lang.ClassLoader.loadClass(ClassLoader.java:306)
 at 
org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
 at  
org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
 at 
org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
 at 
org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
 at java.lang.Class.forName0(Native Method)
 at java.lang.Class.forName(Class.java:169)
 at 
org.codehaus.mojo.idlj.JacorbTranslator.invokeCompiler(JacorbTranslator.java:175)
 ... 20 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1 second
[INFO] Finished at: Wed Apr 25 11:21:57 MDT 2007
[INFO] Final Memory: 3M/7M
[INFO] ------------------------------------------------------------------------

Am I missing something here? Let me know if any more information
would be  useful.

Thanks!

Duke

Reply via email to