单击 5 次按钮即可让 eclipse 为我的 eclipse 项目创建一个可部署的 war 文件,我认为可能有一些 eclipse 命令行选项可以做同样的事情,所以我可以将它写入脚本,但我没有看到它.
4 回答
使用Antwar
任务,设置一个相关的构建文件,你可以点击“外部工具”按钮来执行它。
您还可以为您的 Web 项目设置 Maven 构建。从命令行键入 mvn package 然后将为您构建项目。
有关 Maven 和 Eclipse 之间的集成,请参阅m2Eclipse和Maven Eclipse 插件。
关于 WAR 包装本身,我无话可说,抱歉。
但正如我在 Eclipse 中构建 Java 后如何自动导出 WAR中所写的那样 ?:如果您可以使用 Ant 脚本描述 WAR 打包,那么您可以在每次更改项目后自动执行该 Ant 脚本。使用 Project->Properties->Builders->Add->Ant Builder。为该构建器提供自定义 Ant 脚本,它将在项目的“正常”构建器之后自动执行。您甚至可以在构建器的设置中指定它是否只对特定文件的更改等做出反应。
Ant builder 是一种瑞士军刀,可用于您想要在项目构建中自动化的任何内容,而无需使用 maven 等大型工具。
这个 Ant 脚本应该适用于项目的标准动态 Web 项目结构:
创建 Ant build.xml 并在开始时替换两个属性:
<?xml version="1.0" encoding="UTF-8"?>
<project name="Deploy From Eclipse to JBoss" basedir="." default="deploy">
<!-- This replace with yours project name and JBoss location: -->
<property name="warfile" value="MyProject"/>
<property name="deploy" value="/home/honza/jboss-as-7.1.1.Final/standalone/deployments"/>
<target name="create">
<war destfile="${warfile}.war" webxml="WebContent/WEB-INF/web.xml" update="true">
<classes dir="build\classes"/>
<fileset dir="WebContent">
<exclude name="WEB-INF/web.xml"/>
</fileset>
</war>
</target>
<target name="copy">
<copy todir="${deploy}" overwrite="true">
<fileset dir=".">
<include name="${warfile}.war"/>
</fileset>
</copy>
</target>
<target name="clear">
<delete includeemptydirs="true">
<fileset dir="${deploy}" defaultexcludes="false">
<include name="${warfile}.*/**" />
</fileset>
</delete>
</target>
<target name="deploy">
<antcall target="create"/>
<antcall target="clear"/>
<antcall target="copy"/>
</target>
</project>
现在应该命令“ant”创建 WAR 并将它们复制到 JBoss。JBoss 自动部署在部署目录中找到的战争。
对于构建后的自动运行(项目 - 构建),请在此处添加此构建文件:
MyProject - Properties - New - Ant builder