我是 Ant 的新手(我来自 Maven,此时,Ant 是我的噩梦)。
我有以下情况:
在 Eclipse 工作区中,我有一些 Java 项目,它们相互交互组成最终的单个应用程序。
这个实现应用程序 GUI 的项目之一(名为CrystalIceGUI)本身包含独特的build.xml Ant 脚本,最多简化,执行以下操作:
1)编译所有项目(被视为 CrystalIceGUI 项目的依赖项)
2) 为每个项目创建一个名为Release的目录(在适当的项目中)并将与该项目相关的.jar文件放入其中。(例如其中一个项目名为ShellExtBridge,因此 Ant 脚本将创建以下目录:ShellExtBridge/Release并将创建的ShellExtBridge的.jar文件放在该目录中。
3)最后为主工程(CrystalIceGUI )创建如下结构:在CrystalIceGUI工程中创建一个名为Relaese的目录,在该目录下放置CrystalIceGUI工程相关的.jar文件。
此外,创建此目录CrystalIceGUI/Release/lib,其中包含之前为依赖项目创建的所有.jar 。
现在我的问题是:老板要求我为每个项目创建一个 Ant 脚本。这些 Ant 脚本只需在每个项目中创建一个Release文件夹,为项目创建 jar 并将 jar 放入此 Release 文件夹中。但是我对如何做有点困惑。
我的想法是这样的:对于每个项目,我从旧的 Ant 脚本(执行主项目中所有工作的脚本)中获取与我正在处理的项目相关的部分。
例如,对于之前名为ShellExtBridge的子项目:我从旧的build.xml ant 脚本中获取这部分代码:
<target name="shellextbridge"
description="Packs classes of shellextbridge">
<mkdir dir="${project.libdir}" />
<javac srcdir="${deps.shellextbridge.dir}/Project/src" destdir="${deps.shellextbridge.dir}/Project/bin"/>
<jar destfile="${deps.shellextbridge.dir}/Release/${deps.shellextbridge.jar}" index="false">
<fileset dir="${deps.shellextbridge.dir}/Project/bin"/>
<manifest>
<attribute name="Created-By" value="${info.software.author}" />
<attribute name="Main-Class" value="com.techub.crystalice.rmi.Main"/>
</manifest>
</jar>
<copy file="${deps.shellextbridge.dir}/Release/${deps.shellextbridge.jar}" tofile="${project.libdir}/${deps.shellextbridge.jar}"/>
<copy file="${deps.shellextbridge.dir}/Release/${deps.shellextbridge.jar}" tofile="${project.deploy}/lib/${deps.shellextbridge.jar}"/>
<copy file="${deps.shellextbridge.dir}/Release/${deps.shellextbridge.jar}" tofile="${project.dev.deploy.dir}/${deps.shellextbridge.jar}"/>
</target>
我将它放入一个新的build.xml ant 脚本中,该脚本特定于ShellExtBridge项目(更改路径)
可以很好地解决他们问我的问题吗?
对不起,如果我住过,但直到昨天才见过蚂蚁,我对如何行动有很多疑问
肿瘤坏死因子
安德烈亚