はじめに
最近犬の服を作り始めました。
犬の服できたー
— naichi@びはんとマルの森 (@naichilab) 2020年11月12日
型紙サイズ調整して布切ってミシンで縫った。むちゃくちゃ疲れた、、、
まぁでもそれっぽくできたので満足。初めてのミシン作品。 pic.twitter.com/XK9cv9LJKw
本をみながら型紙写して、サイズ調整して、って手書きでやったんですけどはちゃめちゃに面倒。
犬の服を作ってみようと思って本見ながら手書きで型紙写してサイズ補正してたけどクッソ大変だなこれ。実際にやってみないと分からない大変さだ。
— naichi@びはんとマルの森 (@naichilab) 2020年11月8日
やっとハトロン紙に縫い代書いて切り終えた。 pic.twitter.com/TYWt24AW3W
サイズ調整を満足いくまで繰り返し行いたいので、早めにCADに切り替えたいなとソフトを探してみました。
そしたら洋裁CADというツールがフリーだしなかなか良さそう。
Macで動かすのにちょっと苦労したので記録を兼ねて書いておきます。
(結果的に動いた)環境
- Mac Book Pro 2018
- Mac OS Mojave
- java 15.0.1 2020-10-20
やったこと
洋裁CADのダウンロード
公式サイトよりダウンロードし、ZIPを解凍。
フォルダ名だけリネームしてアプリケーションフォルダに配置
/Applications/洋裁CAD
に置きました。
実行してみる -> エラー
/Applications/洋裁CAD/lib/P2dCad.jar
をダブルクリックで実行してみると、エラーダイアログが表示されるものの詳細はコンソールをみてねとしか書かれていない。
試しにターミナルで
$ cd /Applications/洋裁CAD/lib $ java -jar P2dCad.jar
としてみたところ以下のエラーが表示されました。
$ java -jar P2dCad.jar エラー: メイン・クラスtomojavalib.p2cad.mainstage.MainStageを検出およびロードできませんでした 原因: java.lang.NoClassDefFoundError: javafx/application/Application
なるほど、何も分からん。
Discordで質問してみた
洋裁CADのコミュニティで質問してみたところ、作者様からJDKにJavaFXが入ってないんじゃ無いか?とのヒントをいただけました。
よくよくさっきのエラーメッセージ読んでみるとたしかにそんなような例外出てますね・・・。
Java、全然分からんけど新しいの入れときゃいいのかな?と思い、上記記事を参考にJava15 + JavaFx15を入れてみることに。
全然話逸れるけどJavaってどれが新しいのか全然分からんくないですか・・・?色々ありすぎてつらい。
Java15を入れる
MacのBrewで複数バージョンのJavaを利用する + jEnv - Qiita
こちらを参考にJava15を入れました。
$ brew tap homebrew/cask-versions $ brew cask install oracle-jdk
環境変数とパスもセットしておきます。
export JAVA_HOME=`/usr/libexec/java_home -v "15"` PATH=${JAVA_HOME}/bin:${PATH}
java15になってることを確認
$ java -version java version "15.0.1" 2020-10-20 Java(TM) SE Runtime Environment (build 15.0.1+9-18) Java HotSpot(TM) 64-Bit Server VM (build 15.0.1+9-18, mixed mode, sharing)
JavaFx15を入れる
この辺りの記事が参考になりました。
上記から JavaFX Mac OS X SDK 15.0.1
をダウンロードし、解凍後に /Library/Java/JavaVirtualMachines/
へ配置
PATH_TO_FXという環境変数をセットしておく
export PATH_TO_FX=/Library/Java/JavaVirtualMachines/javafx-sdk-15.0.1/lib
コマンドで実行してみる
cd /Applications/洋裁CAD/lib java --module-path $PATH_TO_FX --add-modules=javafx.web -jar P2dCad.jar
起動した!
一度起動した後は、jarファイルをダブルクリックするだけでも起動するようになってました。
終わりに
作者様が迅速にヒントくださったおかげでなんとか起動することができました。
一通りの機能がMacでも問題なく動くといいな〜。
機械設計CADはやってましたが洋裁CADははじめてなので楽しみです。
チュートリアルやってからのんびり覚えたいと思います。
2021-03-22 追記
印刷実行を押すと下記エラーが出るようになっていた。
Exception in thread "JavaFX Application Thread" java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel at tomojavalib.p2cad.subframe.PrintSelectFrameFx.a(Unknown Source) at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) 〜以下30行ぐらいエラー
javafx/embed/swing/JFXPanelについて調べると、javafx.embed.swingパッケージに入っているようだ。
起動コマンドを以下のように変更することで印刷できた。
java --module-path $PATH_TO_FX --add-modules=javafx.web,javafx.swing -jar P2dCad.jar
あと毎回コマンド実行するのも面倒なので、
以下の内容のシェルスクリプトを /Applications/洋裁CAD/洋裁CAD.sh
に保存してちょっと楽になった。
cd /Applications/洋裁CAD/lib java --module-path $PATH_TO_FX --add-modules=javafx.web,javafx.swing -jar P2dCad.jar