1

InstallAnywhereを使用して、複数のプラットフォーム用のjarの実行可能ファイルを作成しています。したがって、どこにでもインストールすると、Unixの場合は.sh、Windowsの場合は.exeが生成されます。

しかし、1つのjarについては、Windows用のexeではなくバッチファイルを作成したいと思います。Unix用の.shがまだ必要です。

これを達成するための緩いプロパティが見つかりません。これどうやってするの?

4

1 に答える 1

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 をインストール中に収集された値に置き換え、%3 を に置き換えます$USER_INSTALL_DIR$。InstallAnywhere 変数 (この場合は$IA_CLASSPATH$) を置き換えるには、[ファイル内の InstallAnywhere 変数を置き換える] チェックボックスをオンにします。

于 2013-02-18T20:19:15.000 に答える