2017-10-01 11 views
3

にjavapackagerとエラーファイルが見つかりませんインストーラ。ICNSは、私はちょうど<strong>MacOSのハイシエラ(10.13)</strong>と私はMacOSのにJava Swingアプリケーション(実行可能JAR)をパッケージ化する方法を示して書いたチュートリアルを更新しようとしていますがインストールMacOSのハイシエラ

チュートリアルの手順は、macOS Serra(10.12)で正常に機能しました。

今とアウトjavapackagerコマンドのクラッシュ:

ERROR: File Not Found. (-43) on file: /var/folders/c1/hkb.../images/ShowTime/.VolumeIcon.icns

システム情報:再現する

Darwin Comet.local 17.0.0 Darwin Kernel Version 17.0.0: Thu Aug 24 21:48:19 PDT 2017; root:xnu-4570.1.46~2/RELEASE_X86_64 x86_64 
java version "9" 
Java(TM) SE Runtime Environment (build 9+181) 
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode) 

の簡素化の手順:

curl --remote-name http://centerkey.com/mac/java/ShowTime.java 
javac ShowTime.java 
echo "Main-Class: ShowTime" > MainClass.txt 
jar cmf MainClass.txt ShowTime.jar *.class 
jdk=$(/usr/libexec/java_home) 
$jdk/bin/javapackager -deploy -native dmg -name ShowTime \ 
    -srcdir . -srcfiles ShowTime.jar -appclass ShowTime \ 
    -outdir deploy -outfile ShowTime -v 

全エラー:

Running [/usr/bin/SetFile, -c, icnC, /var/folders/c1/hkb5ph9s7l352nhr17n310vc0000gn/T/fxbundler10109585143778151656/images/ShowTime/.VolumeIcon.icns] 
ERROR: File Not Found. (-43) on file: /var/folders/c1/hkb5ph9s7l352nhr17n310vc0000gn/T/fxbundler10109585143778151656/images/ShowTime/.VolumeIcon.icns 
java.io.IOException: Exec failed with code 2 command [[/usr/bin/SetFile, -c, icnC, /var/folders/c1/hkb5ph9s7l352nhr17n310vc0000gn/T/fxbundler10109585143778151656/images/ShowTime/.VolumeIcon.icns] in unspecified directory 
    at jdk.packager/com.oracle.tools.packager.IOUtils.exec(IOUtils.java:169) 
    at jdk.packager/com.oracle.tools.packager.IOUtils.exec(IOUtils.java:142) 
    at jdk.packager/com.oracle.tools.packager.IOUtils.exec(IOUtils.java:136) 
    at jdk.packager/com.oracle.tools.packager.mac.MacDmgBundler.buildDMG(MacDmgBundler.java:391) 
    at jdk.packager/com.oracle.tools.packager.mac.MacDmgBundler.bundle(MacDmgBundler.java:92) 
    at jdk.packager/com.oracle.tools.packager.mac.MacDmgBundler.execute(MacDmgBundler.java:549) 
    at jdk.packager/com.sun.javafx.tools.packager.PackagerLib.generateNativeBundles(PackagerLib.java:371) 
    at jdk.packager/com.sun.javafx.tools.packager.PackagerLib.generateDeploymentPackages(PackagerLib.java:348) 
    at jdk.packager/com.sun.javafx.tools.packager.Main.main(Main.java:496) 
Config files are saved to /var/folders/c1/hkb5ph9s7l352nhr17n310vc0000gn/T/fxbundler10109585143778151656/macosx. Use them to customize package. 
Exception in thread "main" com.sun.javafx.tools.packager.PackagerException: Error: Bundler "DMG Installer" (dmg) failed to produce a bundle. 
    at jdk.packager/com.sun.javafx.tools.packager.PackagerLib.generateNativeBundles(PackagerLib.java:374) 
    at jdk.packager/com.sun.javafx.tools.packager.PackagerLib.generateDeploymentPackages(PackagerLib.java:348) 
    at jdk.packager/com.sun.javafx.tools.packager.Main.main(Main.java:496) 

チュートリアルと手順: Mac Java! | commands.txt

アイコンファイルを提供するかどうかにかかわらずエラーが発生します。どのようにそれを修正するための任意のアイデア?

+1

新しいJava 9を使用しているときにこのエラーが発生しているようです。Java 8を使用しているときにもこのエラーが発生しますか?最近、Java 9がリリースされました。新しいJava 9ではパッケージングの何かが壊れても驚くことはありません。 –

+0

'javapackager'コマンドは、アップグレードする前に** Sierra(10.2)**のJava 9 **で動作しました** **ハイシエラ(10.13)**。 ** High Sierra(10.13)**にアップグレードした後にエラーが発生しました。ただ安全のために、私は** Java 9 **を再インストールしましたが、エラーは残っていました。 –

+0

"MAC OS X 10.12.6のJDK 9で確認し、問題を確認できました。参照:http://bugs.java.com/bugdatabase/view_bug.do?bug_id = JDK-8188763 –

答えて

2

GabeVがコメントされました。-native dmgオプションは壊れていますが、-native imageが機能します。

バグレポート:幸いにも
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8188763

-native pkgオプションも動作します。 .dmgディスクイメージの代わりに.pkgインストーラファイルが作成されますが、インストーラファイルは多くの状況で望ましい結果になります。

pkg回避策と新段階:

curl --remote-name http://centerkey.com/mac/java/ShowTime.java 
javac ShowTime.java 
echo "Main-Class: ShowTime" > MainClass.txt 
jar cmf MainClass.txt ShowTime.jar *.class 
jdk=$(/usr/libexec/java_home) 
$jdk/bin/javapackager -deploy -native pkg -name ShowTime \ 
    -srcdir . -srcfiles ShowTime.jar -appclass ShowTime \ 
    -BappVersion=1.0.0 -outdir deploy -v 
ls -l deploy 
open deploy/ShowTime-1.0.0.pkg 

ドキュメント:
https://docs.oracle.com/javase/9/tools/javapackager.htm

更新(2017年12月4日):
どうやら問題が関連しますないのバグMacOS 10.3(High Sierra)用の新しいApple File System(APFS)を検出しました。参照:http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8190758

関連する問題