我正在開發一個彈簧項目。我使用ant來部署應用程序和STS(基於eclipse的)IDE來開發。我設置了CATALINA_HOME環境變量螞蟻部署問題
echo $CATALINA_HOME
/home/username/springsource/apache-tomcat
當我從IDE運行部署螞蟻任務,其部署到一個文件夾
/home/username/workspace/myproject/${env.CATALINA_HOME}/webapp
下但不
/home/username/springsource/apache-tomcat/webapp
你知道任何解決?
我build.properties文件
src.dir=src
web.dir=web
build.dir=${web.dir}/WEB-INF/classes
name=myproject
appserver.home=${env.CATALINA_HOME}
deploy.path=${appserver.home}/webapps
appserver.lib=${appserver.home}/lib
和build.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project name="kervan" basedir="." default="usage">
<property environment="env"/>
<property file="build.properties"/>
<path id="cp">
<fileset dir="${web.dir}/WEB-INF/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${appserver.lib}">
<include name="servlet-api.jar"/>
</fileset>
<pathelement path="${build.dir}"/>
</path>
<target name="usage">
<echo message=""/>
<echo message="${name} build file"/>
<echo message="-----------------------------------"/>
<echo message=""/>
<echo message="Available targets are:"/>
<echo message=""/>
<echo message="build --> Build the application"/>
<echo message="deploy --> Deploy application as a WAR file"/>
<echo message=""/>
</target>
<target name="build" description="Compile main source tree java files">
<mkdir dir="${build.dir}"/>
<javac destdir="${build.dir}" source="1.6" target="1.6"
debug="true" deprecation="false" optimize="false"
failonerror="true">
<src path="${src.dir}"/>
<classpath refid="cp"/>
</javac>
</target>
<target name="deploy" depends="build" description="Deploy application as a WAR file">
<war destfile="${name}.war"
webxml="${web.dir}/WEB-INF/web.xml">
<fileset dir="${web.dir}">
<include name="**/*.*"/>
</fileset>
</war>
<copy todir="${deploy.path}" overwrite="true">
<fileset dir=".">
<include name="*.war"/>
</fileset>
</copy>
</target>
</project>
布倫特,正如你所說,我從建設者部分配置它,它只有當我把它硬編碼到CATALINA_HOME =/home/username/springsource/apache-tomcat時才起作用。我首先從預配置的變量列表中將CATALINA_HOME分配給$ {env_var:CATALINA_HOME},但沒有奏效。 –
@郭:是的,這很煩人。您可以嘗試使用一些內部Eclipse變量,例如$ {workspace_loc},如果您指向工作區下的某些內容以使其不必是絕對路徑,但除此之外,我認爲您唯一的選擇是混淆您如何啓動Eclipse以便獲取您的實際環境設置。你在運行什麼操作系統? –
我正在運行Ubuntu Jaunty。無論如何感謝您的解決方案。 –