0

ファイルセット id='A' を定義しましたが、システム プロパティ INSTALL_A=true が設定されている場合にのみインストールしたいと考えています。

「ファイルのインストール」の前にスクリプトの実行アクションを作成し、以下を追加しました。

if ("true".equals(System.getProperty("INSTALL_A", "false"))) {
  context.getFileSetById("A").setSelected(true);
} else {
  context.getFileSetById("A").setSelected(false);
}
return true;

ただし、システム プロパティが設定されていない場合でも、ファイルセットは常にインストールされます。

問題をデバッグするためのアイデアを歓迎します。前もって感謝します

4

1 に答える 1

0

これをより簡潔に書く方法は、

context.getFileSetById("A").setSelected(Boolean.getBoolean("INSTALL_A"));
return true;

これは、ファイル セットを条件付きでインストールする正しい方法です。システム プロパティまたはファイル セットが存在しません。次のログ ステートメントを追加してみてください

Util.logInfo(null, "Install_A:" + Boolean.getBoolean("INSTALL_A"));
Util.logInfo(null, "File set A found " + (context.getFileSetById("A") != null));

「スクリプトの実行」アクションの先頭まで移動し、ログ ファイル .install4j\installation.log で関連する出力を確認します。

于 2013-07-26T14:01:05.693 に答える