2

我正在尝试使用idlj-maven-plugin在 Maven 项目中包含一个 Corba .idl 文件。.idl 文件指定了某个模块,例如

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>

但它似乎完全没有效果。我也尝试使用idljas<compiler>或使用

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

但似乎没有任何效果。

任何想法?

4

3 回答 3

4

我设法使一切都以这种方式工作:

   <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>
于 2012-08-27T21:01:50.527 回答
0

使用命令 idlj 更容易

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

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

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

您可以使用带有选项的idlj-pkgPrefix将java文件生成到某个包,如下所示

idlj -pkgPrefix tester com.mycompany -fall tester.idl
于 2015-02-16T01:26:04.883 回答
0

尽管 idlj-maven-plugin 使用页面中的示例另有说明,但您必须将源选项包装在 sources 元素中:

<configuration>
    <compiler>jacorb</compiler>
    <sources>
        <source>
            <packagePrefix>com.acme</packagePrefix>
        </source>
    </sources>
</configuration>
于 2020-03-23T17:10:22.463 回答