2012-02-13 38 views
1

我正在使用InstallAnywhere爲多個平臺的JAR創建可執行文件。因此,在任何地方安裝都會爲Unix生成.sh和爲Windows生成.exe。使用InstallAnywhere生成批處理文件而不是可執行文件

但是對於1個jar,我想爲Windows創建批處理文件,而不是exe文件。我仍然希望Unix的.sh。

我找不到任何鬆懈的屬性來實現這一點。我怎樣才能做到這一點?

+0

做這些應用程序。有GUI?如果是這樣,也許[Java Web Start](http://stackoverflow.com/tags/java-web-start/info)是最好的解決方案。它可以安裝桌面快捷方式和/或用於啓動Java富客戶端應用程序的菜單項。 – 2012-02-13 10:20:03

回答

1

在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變量」複選框。