2011-05-04 131 views
1

我有一個ANT構建,編譯我的Java項目並構建一個jar。 ANT目標爲jar創建清單類路徑。一切都很好。Apache ANT清單類路徑文字

現在,我想添加一個句點'。'到清單類路徑的開始處,以便運行時工作目錄位於類路徑中。我如何使用manifestclasspath來做到這一點?


我manifestclasspath例如:

<manifestclasspath property="foobar.manifest.classpath" jarfile="whocares.jar"> 
     <classpath > 

     <pathelement path="."/> 
      <!-- :-(adds the working directory of the build. --> 

     <pathelement location="lib/some.jar"/> 
     <pathelement location="lib/someother.jar"/> 
     <fileset dir="${foobar.lib.dir}"> 
      <include name="**/*.jar" /> 
     </fileset> 
     </classpath> 
    </manifestclasspath> 

<pathelement path="."/>添加工作構建的目錄我的清單類路徑這不是我想要的。我只想要一段時間。


這就是我想要的JAR的類路徑看起來像:

Class-Path: . lib/some.jar lib/someother.jar lib/blah.blah.blah.blah.b 
lah.blah.jar /lib/and-on-and-on.jar 

事情的關鍵是在「.」作爲在classpath中的第一個項目。

如何讓ANT將文字'.'添加到清單類路徑中?

+0

什麼是你想通過添加文字來實現「」 ?無論如何,jar中的類不是可以自動訪問的嗎? – Kal 2011-05-04 21:10:04

+0

我正在從運行時工作目錄中的屬性文件中加載重寫屬性。 – MarkOfHall 2011-05-04 21:21:24

+0

看着代碼,路徑應該總是相對於你指定的jar。如果「。」是你的項目的'basedir'和「whocares.jar」在「。」之內。那麼你應該得到「。」在財產內部或它是一個錯誤(你應該報告它)。 – 2016-12-07 05:40:10

回答

0

你不能只是在前面加上手動:

<property name="theRealManifestClasspath" value=". ${foobar.manifest.classpath}"/>