JavaCVを何もせずにwar作成すると容量が大きくなってしまうのでその対処方法です。
設定なしだと無駄が多い
JavaCVを使用したプロジェクトで何もせずにwarを作成するとandroid-arm、anroid-arm64、android-x86_64、android-x86、ios-*、windows-*、linux-*などと様々な環境用のライブラリが一緒になって出力されます。
こんなのが大量に入るのでwarにしたとき数百MBになります。
私の場合は800MBくらいでした。
使用しないライブラリが大半なのでwar作成時には除外したいところです。
本番環境の転送するときに転送料金とかかかるところだと困りますしね。
今回はLinuxの64ビット環境で動かす用のwarを作成するので必要なのは*-linux-x86_64.jarです。
不要なjarを除外してコンパイル
eclipseからPJ右クリック→実行→Mavenビルドでやってみましたが、これは上手くいきませんでした。
Springのpluginだとちょっと違う?みたい??
なので、仕方なしにmvnコマンドでやりました。
eclipseで作れた方が手間なくて良かったんですが出来なかったので諦めました。
mvn実行時に以下を追加するだけです。
-Djavacpp.platform=linux-x86_64
> cd [プロジェクトのパス] > C:\apache-maven-3.8.2-bin\apache-maven-3.8.2\bin\mvn.cmd package -Djavacpp.platform=linux-x86_64
windows64ビットだと
windows-x86_64
を指定してください。
warサイズ比較
- excludeの設定なし
874,090,496 バイト - excludeの設定あり
133,607,424 バイト
700MBも変わりました。
参考URL
Attention Required! | Cloudflare
コメント