2012-08-27 11 views
2

我試圖在的Maven項目中包含一個Corba .idl文件。 .idl文件指定一個特定的模塊,說idlj-maven-plugin和軟件包轉換

module Tester 
{ 
    interface Test { 
    void sayHello(); 
    } 
} 

,我想生成的類在包com.mycompany.tester屬於。我一直在使用

 <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>idlj-maven-plugin</artifactId> 
     <version>1.2.1</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>generate</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <debug>true</debug> 
      <compiler>jacorb</compiler> 
      <sourceDirectory>../../idl</sourceDirectory> 
      <source> 
       <packageTranslations> 
        <packageTranslation> 
         <type>Tester</type> 
         <package>com.mycompany.tester</package> 
        </packageTranslation> 
       </packageTranslations> 
      </source> 
     </configuration> 
     </plugin> 

嘗試,但它似乎完全沒有影響。我還試圖用idlj作爲<compiler>,或使用

   <additionalArguments> 
        <additionalArgument> 
         -i2jpackage Tester:com.mycompany.tester 
        </additionalArgument> 
       </additionalArguments> 

,但似乎沒有任何效果。

有什麼想法?

回答

3

我設法使一切工作是這樣的:

<plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>idlj-maven-plugin</artifactId> 
     <version>1.2.1</version> 
     <executions> 
      <execution> 
      <goals> 
       <goal>generate</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <debug>true</debug> 
      <compiler>jacorb</compiler> 
      <sourceDirectory>../../idl</sourceDirectory> 
      <sources> 
       <source> 
        <additionalArguments> 
         <list>-i2jpackage</list> 
         <list>Tester:com.mycompany.tester</list> 
        </additionalArguments> 
       </source> 
      </sources> 
     </configuration> 
     </plugin> 

當使用<compiler>idlj</compiler>我來代替,爲<additionalArguments>

<additionalArguments> 
    <list>-pkgTranslate</list> 
    <list>Tester</list> 
    <list>com.mycompany.tester</list> 
</additionalArguments> 
0

它更容易使用命令IDLJ

==== your tester.idl ==== 

module tester 
{ 
    interface Test { 
     void sayHello(); 
    } 
} 

=========================== 

你可以使用帶選項的idlj -pkgPrefix將java文件生成爲某個包,如下所示

idlj -pkgPrefix tester com.mycompany -fall tester.idl