2013-03-14 49 views
1

在安裝過程中,我執行一個java類。 我從我的install.xml文件中向這個java類拋出了一些變量。Izpack,Java - 獲取資源路徑作爲變量

我的問題是我沒有辦法扔這個類的IzPack資源路徑。 沒有IzPack內置變量。

但我知道這是什麼地方存儲,因爲我把它交給的IzPack編譯:

「... \的IzPack \ BIN \編譯」, 「... \ INSTALL.XML」 -b thepathIwouldliketoget

謝謝!

回答

0

@命令提示:

C:\Program Files\IzPack\bin>compile -? 

.:: IzPack - Version 4.3.5 ::. 

....... 

-> Command line parameters are : (xml file) [args] 
    (xml file): the xml file describing the installation 
    -h (IzPack home) : the root path of IzPack. This will be needed 
       if the compiler is not called in the root directory of IzPack. 
       Do not forget quotations if there are blanks in the path. 
    -b (base) : indicates the base path that the compiler will use for filenames 
       of sources. Default is the current path. Attend to -h. 

只是爲了澄清:-b <path-name>是不完全的IzPack resource path。如上所述,這是一個base path,專門用於解析其他文件路徑。它是默認值將是當前目錄,即C:\Program Files\IzPack\bin,在上面的例子中。

現在,我還沒有測試,但是這個路徑可能通過屬性baseDir訪問。
兩個原因:

  • Apache Ant Integration部分HERE指定該屬性爲'baseDir'

  • 文件CliAnalyzer.java(找到它,以及其他源文件,HERE),其分析命令行輸入,具有下面的代碼塊:

    if (commandLine.hasOption(ARG_BASEDIR)) { baseDir = commandLine.getOptionValue(ARG_BASEDIR).trim(); }

大概,base path應可通過${baseDir} or $baseDir訪問。