InstallAnywhereを使用して、複数のプラットフォーム用のjarの実行可能ファイルを作成しています。したがって、どこにでもインストールすると、Unixの場合は.sh、Windowsの場合は.exeが生成されます。
しかし、1つのjarについては、Windows用のexeではなくバッチファイルを作成したいと思います。Unix用の.shがまだ必要です。
これを達成するための緩いプロパティが見つかりません。これどうやってするの?
InstallAnywhereを使用して、複数のプラットフォーム用のjarの実行可能ファイルを作成しています。したがって、どこにでもインストールすると、Unixの場合は.sh、Windowsの場合は.exeが生成されます。
しかし、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 をインストール中に収集された値に置き換え、%3 を に置き換えます$USER_INSTALL_DIR$
。InstallAnywhere 変数 (この場合は$IA_CLASSPATH$
) を置き換えるには、[ファイル内の InstallAnywhere 変数を置き換える] チェックボックスをオンにします。