我在尝试使用版本号构建WAR文件时遇到问题。这是我的build.properties
jboss.home=D\:\java\jboss-as-7.1.1.最终
版本=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不包含版本号,我怎么能做到呢?
这与ANT无关,您的应用程序服务器默认使用WAR的名称。您想要做的是更改web应用程序的"上下文根"。如果你在谷歌上搜索这个短语,以及你的应用程序服务器的名称(例如"Tomcat"或"JBoss"),我相信你会找到答案的。或者,如果你告诉我你在用什么服务器,我可以试着帮你。
请参阅http://ant.apache.org/manual/Tasks/copy.html在例子中,你可以用ant复制一个文件,就像这样,
<copy file="myfile.txt" tofile="mycopy.txt"/>
在您的情况下,假设您希望部署的文件命名为AS
,请尝试
<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>