新しいチーム/プロジェクトの install4j を評価しています。計画は、プラットフォームに固有の自家製インストーラーのセットを単一の install4j インストーラーに置き換えることです。チーム ビルドの出力用の単純なインストーラーを作成しました。Install4j は、ビルドの出力を自己解凍ファイルに取り込み、実行時にディレクトリに配置するシンプルなインストーラーで優れた仕事をします。
ただし、ビルド出力に埋め込まれているファイルを解凍および解凍しようとすると、以下の例外で失敗します。
install4j は、gzip された tar ファイルを「すぐに」処理できませんか? これにはカスタム コードを記述する必要がありますか? それとも、別の種類のエラーのように見えますか? チェックしたところ、コマンドラインから指定したディレクトリに自分でファイルを解凍および展開できます。
これは、MySQL、Tomcat などのインストーラーで複数のアーティファクトを処理するために必要なことです。
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:131)
at java.util.zip.ZipFile.<init>(ZipFile.java:148)
at com.install4j.runtime.beans.actions.files.AbstractExtractZipFileAction.getMaxProgress(Unknown Source)
at com.install4j.runtime.beans.actions.files.AbstractExtractZipFileAction.extractZip(Unknown Source)
at com.install4j.runtime.beans.actions.files.AbstractExtractZipFileAction.execute(Unknown Source)
at com.install4j.runtime.beans.actions.SystemInstallOrUninstallAction.install(Unknown Source)
at com.install4j.runtime.installer.InstallerContextImpl.performActionInt(Unknown Source)
at com.install4j.runtime.installer.ContextImpl.performAction(Unknown Source)
at com.install4j.runtime.installer.controller.Controller.executeActions(Unknown Source)
at com.install4j.runtime.installer.controller.Controller.handleCommand(Unknown Source)
at com.install4j.runtime.installer.controller.Controller.start(Unknown Source)
at com.install4j.runtime.installer.Installer.runInProcess(Unknown Source)
at com.install4j.runtime.installer.Installer.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.install4j.runtime.launcher.Launcher.main(Unknown Source)