MCreator 1.8.3 をmacOS Mojaveで動かす

MCreator 1.8.3 をmacOS Mojaveで動かそうとすると、デフォルトではエラーが発生しました。

すこしいじると動かすことができたので対応方法を記録しておきます。

環境

macOS Mojave 10.14.4

MCreator 1.8.3

問題

sudo ./mcreator.command で実行すると下記エラーが発生する。

MCreatorにバンドルされているjreがリンクしているlibpngのバージョンが合わないのが原因と思われる。

$ sudo ./mcreator.command 
Password:
[Sun May 19 21:43:22 JST 2019] [Launcher] Java version: 1.8.0_202, specification: 1.8, VM name: OpenJDK 64-Bit Server VM, VM vendor: BellSoft
[Sun May 19 21:43:22 JST 2019] [Launcher] Current JAVA_HOME for running instance: /Users/username/Desktop/MCreator183/jdk/Contents/Home/jre
[Sun May 19 21:43:23 JST 2019] Failed to init MCreator Theme! Error Problem reading font data.
[Sun May 19 21:43:23 JST 2019] Exception in thread "main" [Sun May 19 21:43:23 JST 2019] java.lang.UnsatisfiedLinkError: /Users/username/Desktop/MCreator183/jdk/Contents/Home/jre/lib/libfontmanager.dylib: dlopen(/Users/username/Desktop/MCreator183/jdk/Contents/Home/jre/lib/libfontmanager.dylib, 1): Library not loaded: /opt/local/lib/libpng16.16.dylib
  Referenced from: /Users/username/Desktop/MCreator183/jdk/Contents/Home/jre/lib/./libfreetype.6.dylib
  Reason: image not found
[Sun May 19 21:43:23 JST 2019]  at java.lang.ClassLoader$NativeLibrary.load(Native Method)
[Sun May 19 21:43:23 JST 2019]  at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
[Sun May 19 21:43:23 JST 2019]  at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1845)
[Sun May 19 21:43:23 JST 2019]  at java.lang.Runtime.loadLibrary0(Runtime.java:870)
[Sun May 19 21:43:23 JST 2019]  at java.lang.System.loadLibrary(System.java:1122)
[Sun May 19 21:43:23 JST 2019]  at sun.lwawt.macosx.LWCToolkit$1.run(LWCToolkit.java:93)
[Sun May 19 21:43:23 JST 2019]  at sun.lwawt.macosx.LWCToolkit$1.run(LWCToolkit.java:80)
[Sun May 19 21:43:23 JST 2019]  at java.security.AccessController.doPrivileged(Native Method)
[Sun May 19 21:43:23 JST 2019]  at sun.lwawt.macosx.LWCToolkit.<clinit>(LWCToolkit.java:79)
[Sun May 19 21:43:23 JST 2019]  at java.lang.Class.forName0(Native Method)
[Sun May 19 21:43:23 JST 2019]  at java.lang.Class.forName(Class.java:264)
[Sun May 19 21:43:23 JST 2019]  at java.awt.Toolkit$2.run(Toolkit.java:860)
[Sun May 19 21:43:23 JST 2019]  at java.awt.Toolkit$2.run(Toolkit.java:855)
[Sun May 19 21:43:23 JST 2019]  at java.security.AccessController.doPrivileged(Native Method)
[Sun May 19 21:43:23 JST 2019]  at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
[Sun May 19 21:43:23 JST 2019]  at sun.swing.SwingUtilities2.getSystemMnemonicKeyMask(SwingUtilities2.java:2020)
[Sun May 19 21:43:23 JST 2019]  at javax.swing.plaf.basic.BasicLookAndFeel.initComponentDefaults(BasicLookAndFeel.java:1158)
[Sun May 19 21:43:23 JST 2019]  at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:431)
[Sun May 19 21:43:23 JST 2019]  at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:148)
[Sun May 19 21:43:23 JST 2019]  at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1577)
[Sun May 19 21:43:23 JST 2019]  at javax.swing.UIManager.setLookAndFeel(UIManager.java:539)
[Sun May 19 21:43:23 JST 2019]  at co.pylo.mcreator.Launcher.main(SourceFile:66)

対応

雑だが、macOSバンドルのjavaを使うよう mcreator.command を変更することで動作するようになる。

  • 変更前
#!/bin/bash
#
# ---------------------------------------------------------------------
# MCreator Launcher for Mac
# ---------------------------------------------------------------------
#

cd $(dirname "$0")

# set the classpath
export CLASSPATH=./lib/mcreator.jar

# launch MCreator with bundled java
./jdk/Contents/Home/bin/java co.pylo.mcreator.Launcher --arch64
  • 変更後
#!/bin/bash
#
# ---------------------------------------------------------------------
# MCreator Launcher for Mac
# ---------------------------------------------------------------------
#

cd $(dirname "$0")

# set the classpath
export CLASSPATH=./lib/mcreator.jar

# launch MCreator with bundled java
java co.pylo.mcreator.Launcher --arch64