首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JacORB:更改前缀和后缀

JacORB:更改前缀和后缀
EN

Stack Overflow用户
提问于 2015-02-23 07:32:45
回答 2查看 230关注 0票数 0

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

我有idl文件(ONE.idl,TWO.idl),其中第一个是命名空间ONE_cb,第二个是TWO_cb (因为c++兼容性需要_cb后缀)。TWO_cb有来自ONE_cb的分布,ONE_cb只有基本的类型。我想把它改成像com.example.ONEcom.example.TWO.那样的包

我使用的是JacORB 3.6。我不知道该怎么做。

我的代码是这样的:

代码语言:javascript
复制
<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>

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

代码语言:javascript
复制
<i2jpackage names="TWO_cb:TWO"/> //option 2
<i2jpackage names="ONE_cb:ONE"/> //option 2b

是不可接受的

谢谢您抽时间见我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-26 07:39:20

对于各种研究,我的结论是通用的解决方案是不可能的。同时进行前缀和后缀更改的唯一方法是对所有包含的名称进行说明。

票数 0
EN

Stack Overflow用户

发布于 2015-02-23 14:57:44

如果我没听错你的话

代码语言:javascript
复制
module ONE_cb
{
...
}

但你想让它成为

代码语言:javascript
复制
com.example.ONE { ... }

这在i2jpackage中是可行的。

代码语言:javascript
复制
idl -forceOverwrite -d /tmp/generated -i2jpackage ONE_cb:com.example.ONE myfile.idl

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

如果您正在使用Maven,我还建议您尝试org.codehaus.mojo:idlj plugin,因为您可以非常容易地执行多个执行。

要使用多个i2jpackage,我让它使用

代码语言:javascript
复制
idl -forceOverwrite -d /tmp/generated -all -i2jpackagefile /tmp/file antBugJac608-2.idl

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28668823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档