我正在使用InstallAnywhere爲多個平臺的JAR創建可執行文件。因此,在任何地方安裝都會爲Unix生成.sh和爲Windows生成.exe。使用InstallAnywhere生成批處理文件而不是可執行文件
但是對於1個jar,我想爲Windows創建批處理文件,而不是exe文件。我仍然希望Unix的.sh。
我找不到任何鬆懈的屬性來實現這一點。我怎樣才能做到這一點?
我正在使用InstallAnywhere爲多個平臺的JAR創建可執行文件。因此,在任何地方安裝都會爲Unix生成.sh和爲Windows生成.exe。使用InstallAnywhere生成批處理文件而不是可執行文件
但是對於1個jar,我想爲Windows創建批處理文件,而不是exe文件。我仍然希望Unix的.sh。
我找不到任何鬆懈的屬性來實現這一點。我怎樣才能做到這一點?
在InstallAnywhere中沒有辦法做到這一點。 InstallAnywhere希望在安裝過程中創建本機執行目標。您可以得到的最接近的是創建一個僅用於控制檯的可執行文件。
但是,您可以編寫自己的批處理文件並將其作爲安裝的一部分發送。如果需要包含路徑信息(或其他安裝時信息),則可以添加InstallAnywhere變量,如$IA_CLASSPATH$
,並在安裝時替換它們。
使用「修改文本文件 - 單個文件」操作在安裝時修改您的批處理文件(或其他文本文件)。
爲了我們可以測試我們的批處理文件,我們插入了分配給腳本變量的位置參數。在開發過程中,我們手動提供位置參數。在安裝時,我們用來自InstallAnywhere的值替換位置參數。
例如: - 採取行動,我們的項目
@echo off
set APP_USER=%1
set APP_PASSWORD=%2
set APP_DIR=%3
set CLASSPATH=%CLASSPATH%;$IA_CLASSPATH$;./lib/myapp.jar
cd %APP_DIR%
java -cp %CLASSPATH% com.example.myapp.Main %APP_USER% %APP_PASSWORD%
我們的「單文件修改文本文件」補充。我們使用「搜索和替換字符串:」選項來替換位置參數。在這個例子中,我們會用安裝過程中收集的值替換%1和%2,並用$USER_INSTALL_DIR$
替換%3。要替換任何InstallAnywhere變量(在本例中爲$IA_CLASSPATH$
),請選中「替換文件中的InstallAnywhere變量」複選框。
做這些應用程序。有GUI?如果是這樣,也許[Java Web Start](http://stackoverflow.com/tags/java-web-start/info)是最好的解決方案。它可以安裝桌面快捷方式和/或用於啓動Java富客戶端應用程序的菜單項。 – 2012-02-13 10:20:03