idlj-maven-plugin and包翻译

问题描述 投票:2回答:3

我正在尝试在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>

但是它似乎完全没有效果。我也尝试将idlj用作<compiler>,或使用

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

但似乎没有任何作用。

任何想法?

java maven corba idl
3个回答
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

0
投票

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

<configuration>
    <compiler>jacorb</compiler>
    <sources>
        <source>
            <packagePrefix>com.acme</packagePrefix>
        </source>
    </sources>
</configuration>
© www.soinside.com 2019 - 2024. All rights reserved.