1

我在尝试使用版本号构建 WAR 文件时遇到问题。这是我的 build.properties

jboss.home=D\:\java\jboss-as-7.1.1.Final

版本=2.0

这是我的 ANT 任务的一部分

<project name="AS2-jBoss7" basedir="../" default="deploy">

<!-- Configuraciones del proyecto -->
<property name="project.distname" value="AS2" />

<!-- Paths locales del sistema -->
<property file="${basedir}/ant/build.properties" />
<property name="webroot.dir" value="${basedir}/WebContent" />
<property name="webinf.dir" value="${webroot.dir}/WEB-INF" />
<property name="build.dir" value="build" />

<!-- Build project -->
<target name="build" depends="prepare,compile" />
<target name="rebuild" depends="clean,prepare,compile" />

<!-- Crea el war de la aplicacion -->
<target name="war" depends="build">
<mkdir dir="${build.dir}" />
<war basedir="${webroot.dir}" warfile="${build.dir}/${project.distname}_${version}.war"  webxml="${webinf.dir}/web.xml">
<exclude name="WEB-INF/${build.dir}/**" />
<exclude name="WEB-INF/otros/**" />
</war>
</target>

<!-- Despliega el proyecto -->
<target name="deploy" depends="war">
<delete file="${deploy.dir}/${project.distname}.war" />
<delete dir="${deploy.dir}/${project.distname}" />
<copy file="${build.dir}/${project.distname}_${version}.war" todir="${deploy.dir}" />
</target>
</project>

当我构建我的 WAR 文件时,名称是 AS2_2.0.war,这是正确的,但是当我在 Web 浏览器中查看该站点时,我必须编写 URL:

http://localhost:8030/AS2_2.0/login.jsf

我想要的是 WAR 版本是 AS2_2.0 但 URL 不包含版本号,我该怎么做?

4

2 回答 2

0

参见http://ant.apache.org/manual/Tasks/copy.html在示例中,您可以像这样使用 ant 复制单个文件,

 <copy file="myfile.txt" tofile="mycopy.txt"/>

在您的情况下,假设您希望将部署的文件命名为AStry

<target name="deploy" depends="war">
  <delete file="${deploy.dir}/${project.distname}/AS.war" />
  <delete dir="${deploy.dir}/${project.distname}" />
  <copy file="${build.dir}/${project.distname}_${version}.war" tofile="${deploy.dir}/AS.war" />
</target>
于 2013-08-23T16:14:24.013 回答
0

这与 ANT 无关,您的应用服务器默认使用 WAR 的名称。您要做的是更改 Web 应用程序的“上下文根”。如果您用 Google 搜索该短语以及您的应用程序服务器的名称(例如“Tomcat”或“JBoss”),我相信您会找到答案。或者,如果您告诉我您使用的是什么服务器,我可以尝试帮助您。

于 2013-08-23T15:57:13.693 回答