用ant构建eclipse项目

Posted

技术标签:

【中文标题】用ant构建eclipse项目【英文标题】:Build eclipse project with ant 【发布时间】:2011-07-28 16:32:18 【问题描述】:

我正在使用 Eclipse 开发符合 JSR 268 的 portlet 和实用程序。 现在,该实用程序被设计为独立于 portlet 本身的 JAR。

现在有没有人如何编写一个 ant build.xml 1. 编译并 JAR 我的实用程序类 2. 将 JAR 移动到 portlet 的 ./lib 文件夹 3. 编译portlet,甚至可以将portlet 下载到在localhost 上运行的tomcat?

我现在最大的问题是构建时的依赖关系。我不想硬编码所有文件夹,因为我与另一个平台上的另外两个开发人员共享这个项目。 是否可以重用eclipse的构建路径?

提前谢谢你, 费利佩

【问题讨论】:

【参考方案1】:

这个向导有帮助吗

Rigth-click on project -> Export ... -> Ant buildfiles.

?

【讨论】:

对我来说,它是[Right click] > "Export..." > "General" > "Ant Buildfiles"【参考方案2】:

在 Eclipse 中, 转到窗口->首选项->Ant->运行时->类路径->ant Home 然后添加你需要添加的东西,最后单击确定按钮创建 ant 文件。

【讨论】:

【参考方案3】:

虽然您现在可能已经想通了,但为了将来的参考,我建议您看看 Eclipse 使用 Ant 文件作为项目构建器的能力。

这样做的一个优点是,这将在您构建时自动发生,并且由于您只打包和复制 jar 文件,因此您不必担心例如更改类路径,就像您在前两个答案中所做的那样

    创建 jar 实用程序项目的 ant 文件。关注:[1] 将其作为 ant-builder 添加到您的实用程序项目中,如 [1] 中所述 现在 Eclipse 会在您每次构建时自动生成 jar 文件。 扩展 ant 脚本以将 jar 文件也复制到 lib 目录。 Eclipse 具有将工作区/项目相对路径转换为的 ant 任务 正常的文件路径。见[2]。请注意,要使这些任务正常工作,您必须在配置 ant builder 时选择“JRE”选项卡下的“运行与工作区相同的 JRE” 为了确保您的实用程序已构建,首先将您的 portlet 中的项目引用添加到您的实用程序项目right click > properties > project references

当您构建时,现在将发生以下情况:

    由于项目引用,您的实用程序项目将首先构建 ant-builder 将打包 jar,并将其复制到 lib 文件夹。 您的 portlet 项目将使用新 jar 构建。

[1]http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2FgettingStarted%2Fqs-92_project_builders.htm

[2]http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/ant_eclipse_tasks.htm

【讨论】:

【参考方案4】:

对于 1. 只需使用和 Ant 任务

对于 2. 它在远程服务器上吗?你怎么弄到那里的? Windows 共享?

对于 3. 设置 Tomcat 管理器,然后使用 Tomcat 的部署/取消部署 Ant 任务: http://blog.techstacks.com/2009/05/tomcat-management-setting-up-tomcat.html

<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" />
<taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" />

如果您想避免硬编码路径,请尝试使用相对路径。你现在在哪里依赖?您觉得您可能需要为什么指定绝对路径?

【讨论】:

以上是关于用ant构建eclipse项目的主要内容,如果未能解决你的问题,请参考以下文章

xml Eclipse动态Web项目的简单Ant构建脚本#java #ant #snippet

eclipse怎么导入开源项目,开源项目是用ant构建的,我导入就编译报错

如何在eclipse中进行ant?

eclipse如何导入java项目文件

Jmeter 导入Eclipse,如何编译

无法从 eclipse 项目构建路径中的 apache ivy 依赖项导入类