如何在eclipse中自动化(脚本)创建war文件?

时间:2008-11-16 14:05:25

标签: eclipse war

点击5次按钮获取eclipse为我的eclipse项目创建一个可部署的war文件,我认为可能有一些eclipse命令行选项可以做同样的事情,所以我可以把它写成一个脚本,但我是没看见。

4 个答案:

答案 0 :(得分:4)

使用Ant war task,设置相关的构建文件,您只需点击“外部工具”按钮即可执行它。

答案 1 :(得分:2)

您还可以为您的Web项目设置Maven构建。从命令行键入mvn包然后将为您构建项目。

要在Maven和Eclipse之间进行集成,请参阅m2EclipseMaven Eclipse Plugin

答案 2 :(得分:1)

对于WAR包装本身,我不能说什么,抱歉。

但正如我写的那样 How do I automatically export a WAR after Java build in Eclipse?:如果可以使用Ant脚本描述WAR打包,则可以在每次更改项目后自动执行该Ant脚本。使用Project-> Properties-> Builders-> Add-> Ant Builder。为该构建器提供自定义Ant脚本,它将在项目的“正常”构建器之后自动执行。 您甚至可以在构建器的设置中指定它是否只对特定文件的更改做出反应等等。

Ant构建器是一种瑞士军刀,可用于任何您想在项目构建中自动化的任何东西,而无需使用像maven这样的大工具。

答案 3 :(得分:0)

此Ant脚本应适用于项目的标准Dynamic Web Project结构:

在开始时替换两个属性创建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