2012-02-21 53 views
2

标题可能不是最好的,所以让我解释我想要做什么。动态basedir为蚂蚁在日食

我制作了一个Ant构建文件,可以帮助我实现Maven的目标。如果要将范围扩展到Ant视图并选择我想要执行的操作,则更容易。这样做的最大好处是我几乎可以在任何项目中使用它。无论我部署到tomcat或jboss或sakai(:deploy),还是我处理同一台服务器的多个instaces或跳过测试......最坏的情况我只是改变一些路径属性。

现在的缺点是我必须在每个项目中都保留一份这个构建文件的副本。

我想要做的是在工作区中只有1个buildfile,并且在eclipse中dinamicaly optain,这是我正在开发的当前项目。无论是模块还是家长,我都可以稍后改进。 所以基本上根据eclipse中选定的项目改变ant任务的基础。

我已经试过蚂蚁运行属性,但对于像

$ {} project_path

某种原因,性质不给我其描述说什么。我得到这个:

变量引用空选择:$ {} project_path

我希望这是清楚什么,我试图做的。所以我的问题,我知道这是可能的,我只是错过了一些东西,我希望你们中的一些人可以帮助我。

我相信麻烦是在Ant运行时属性。我不是100%确定我应该如何使用这些。

谢谢!

回答

6

意见和进一步调查后编辑 ...
使可作为BASEDIR财产PROJECTDIR蚂蚁那样:
Window > Preferences > Ant > Runtime > Properties
并创建一个属性命名BASEDIR与价值之一:

${project_loc}

${workspace_loc}/${project_name}

<project basedir="${basedir}"> 
<echo>$${basedir} = ${basedir}</echo> 
</project> 

会达到预期效果,意味着呼应日食/ yourworkspace/PROJECTDIR

可能还有其他的方式,即通过Ant Addon Ant4Eclipse,其目的是使可用于Eclipse的Ant设置,从来没有使用过。

+0

如果我理解正确,这意味着当我添加一个新项目时,我只需要更改'NameOfYourProject'一次。虽然这可能工作,但这不完全是我想要的。感谢您的答复。 让我强调我不明白,我相信它会帮助我找到答案:为什么不知道我正在工作的当前项目,并给了我'变量引用空选择:$ {project_path}'当我使用$ {project_path}或$ {project_loc}?_ – Cristian 2012-02-22 07:19:15

+0

适用于Eclipse 3.7.1的WindowsXP/32bit/jdk1.6.0_30和Windows7/64bit/jdk1.7.0_02以及Eclipse 3.6.2和OpenSuse11 .4/64bit/1.6.0_29我没有收到类似“变量引用...”的消息。问题:如何在Eclipse中启动您的ant文件?哪个操作系统,Eclipse版本,Java版本? – Rebse 2012-02-22 20:02:30

+0

我从Ant View开始。我在那里添加了构建文件。我只是选择我想要运行的任务,然后单击。现在我正在使用Java 1.5_18和Eclipse Classic 3.4.1。升级不是一个选项,因为我正在使用旧的Sakai工具。我确实尝试了更新版本的Java和Eclipse Indingo,但是在部署该工具后我得到了奇怪的结果。 – Cristian 2012-02-23 11:13:54