求助 ,Ant 编译多个工程,依赖关系处理问题??
小弟现在用ant工具整合编译
ant 编译多个工程,如:A、B、C,A 工程 可单独编译,B 工程 依赖A,C工程依赖A、B,问题就出来,A工程编译成功,在编译B工程的时候发现B中有调用C工程的类导致编译错误,找不到类。
代码如下:
Xml代码如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
编译B工程时,把A、B、C的源码都加到sourcepath里面应该就可以
<target name="compile" depends="init">
<javac srcdir="${BillSyssrc}" destdir="${destdir}" encoding="UTF-8">
<classpath refid="libpath"/>
<sourcepath refid="sourcepath"/>
</javac>
</target>
但这样做的结果,会把ABC项目的源码编译到一起。所以只能进行两次变异,第一次用以上方法编译出必须的class文件,第二次编译将第一次编译出的class作为classpath就可以了
http://blog.csdn.net/binbinxyz/article/details/7367892
你问的问题很好,我也真在做有关项目的依赖,我现在我也在考虑这种情况,谁有成熟的Demo,贴出来给大家分享一下,谢谢。
听别人说Apache Ivy可以,不过很复杂.
不知各位是否熟悉maven, 像上面情况 maven是否可以处理呢
这种交互引用是大忌,你先修改一下你的代码吧,不然ant编译时如何确定项目的先后顺序?
我现在也遇到了,用ant编译时,工程依赖关系。 我的工程A B ,代码是相互依赖的。
ant有办法在编译时指定工程依赖吗?
因为eclipse背后做了很多工作,包括库的引用等
但是如果你自己用ant命令的话,就需要设置很多东西,比如环境变量,库路径的设置等
你先编译一个jar包吧,用jar包引用,把工程引用改为jar文件引用,再编译试试?
都是老代码且涉及代码较多,这是最初架构组没弄好导致的,现在也没办法改了。只能另想别的办法
有个疑问,既然整个workspace在IDE里是可以正常编译的,那用ant问什么不行呢?
你的B工程怎么会引用C工程的类?这样交叉引用编译是不行的,还是改一下B项目的引用