簡體   English   中英

螞蟻腳本中的環境變量不起作用

[英]Environmental variables in ant script not working

我正在嘗試為Spring框架項目建立一個與機器無關的構建環境,而我的ant配置似乎無法正常工作。 我搜索了很多,但似乎每個人都認為env。*引用開箱即用。 有人可能會發現我的方式錯誤嗎?

錯誤:

bash-3.1$ ant build
Buildfile: c:\Users\mkumpan\Projects\Spring testing\build.xml

BUILD FAILED
c:\Users\mkumpan\Projects\Spring testing\build.xml:85: c:\Users\mkumpan\Projects\Spring testing\${env.CATALINA_HOME}\lib does not exist.

build.xml文件:85:

<taskdef name="install" classname="org.apache.catalina.ant.InstallTask">
    <classpath refid="catalina-ant-classpath"/>
</taskdef>

catalina-ant-classpath參考:

<path id="catalina-ant-classpath">
    <fileset dir="${appserver.lib}">
        <include name="catalina-ant.jar"/>
    </fileset>
</path>

在build.properties中聲明$ {appserver.lib}:

appserver.home=${env.CATALINA_HOME}
appserver.lib=${appserver.home}/lib

deploy.path=${appserver.home}/webapps

與envvar相呼應:

bash-3.1$ echo $CATALINA_HOME
C:\Program Files\Tomcat

兩大問題:

  • 為什么它不能解析envvar?
  • 它到底為什么會在envvar的絕對路徑之前?

build.xml下行添加到build.xml文件中:

<property environment="env"/>

在引用環境變量時定義前綴。 環境屬性的Property參考頁面:

檢索環境變量時使用的前綴。 因此,如果指定environment =“myenv”,您將能夠通過屬性名稱“myenv.PATH”或“myenv.TERM”訪問特定於操作系統的環境變量。 請注意,如果您提供帶有最終“。”的屬性名稱。 它不會加倍; 即環境=“myenv。” 仍然允許通過“myenv.PATH”和“myenv.TERM”訪問環境變量。 此功能目前僅在特定平台上實現。 隨意發送補丁以增加支持此功能的平台數量;)。 另請注意,即使操作系統上的環境變量不是,屬性也區分大小寫; 例如,Windows 2000的系統路徑變量設置為名為“env.Path”的Ant屬性,而不是“env.PATH”。

我希望你在使用env.之前聲明<property environment="env."/> env. 符號。

此外,下面是構建腳本中用於設置特定環境變量的語法。

**Windows and OS/2**

假設Ant安裝在c:\\ ant中。 以下設置環境:

set ANT_HOME=c:\ant
set JAVA_HOME=c:\jdk-1.5.0.05
set PATH=%PATH%;%ANT_HOME%\bin

**Linux/Unix (bash)**

假設Ant安裝在/ usr / local / ant中。 以下設置環境:

export ANT_HOME=/usr/local/ant
export JAVA_HOME=/usr/local/jdk-1.5.0.05
export PATH=${PATH}:${ANT_HOME}/bin

**Linux/Unix (csh)**

setenv ANT_HOME /usr/local/ant
setenv JAVA_HOME /usr/local/jdk/jdk-1.5.0.05
set path=( $path $ANT_HOME/bin )

將符號鏈接設置為指向JVM / JDK版本可使更新更加無縫。

如果其他人仍在努力完成這項工作(就像我一樣),而你不能(或者不願意)對所有屬性使用export ,請嘗試按照此處的建議set -a

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM