JacORB:更改前缀和后缀



在从idl生成java时,我想更改ant构建中的包前缀和后缀。这必须是通用的解决方案!想法是这样的:

我有idl文件(ONE.idl,TWO.idl),命名空间ONE_cb在第一个,TWO_cbom.example.ONEcom.example.TOO.的包

我使用的是JacORB 3.6。我不知道该怎么做。
我的代码是这样的:

<target name="idlj-generate">
<idl2java
   srcdir="${psm.dir}/${project}/"
   destdir="${build.generated.dir}"
   includepath="${psm.dir}"
   all="true">
      <define key="__JACORB_GENERATE__"/>
      <i2jpackage names=":com.example"/>
      <i2jpackage names="_cb:"/>
</idl2java>
</target>

它不起作用。正如我之前所说的,它必须是通用的解决方案。添加

<i2jpackage names="TWO_cb:TWO"/> //option 2
<i2jpackage names="ONE_cb:ONE"/> //option 2b

不可接受

谢谢你抽出时间。

如果我理解正确,你有类似的东西

module ONE_cb
{
...
}

但你希望它是

com.example.ONE { ... }

这对于i2jpackage是可行的,例如

idl -forceOverwrite -d /tmp/generated -i2jpackage ONE_cb:com.example.ONE myfile.idl

您遇到的问题是同时编译这两个文件。删除"all"并尝试分两个阶段编译它们。

如果你正在使用Maven,我也建议你试试org.codehaus.mojo:idlj-Maven插件,因为你可以很容易地执行多个插件。

要使用多个i2jpackage,我让它与一起工作

idl -forceOverwrite -d /tmp/generated -all -i2jpackagefile /tmp/file antBugJac608-2.idl

(其中antBugJac608-2#包括antBugJac 608)。

对于各种研究,我得出结论,通用解决方案是不可能的。同时更改前缀和后缀的唯一方法是显式设置所有包含的名称。

相关内容

  • 没有找到相关文章

最新更新