[Java] JUnit を 実行可能jar ファイルに含めない方法
Javaアプリケーションで、JUnitを使ってテストケースを作っている場合、プロジェクトにテストモジュールも組み込まれているかと思います。
ネットの情報を見ながら色々やってみましたが、うまくいかず試行錯誤してたらうまくできたので、忘れないように備忘録を。
環境
- macOS Big Sur (11.5)
- Eclipse 2021-06 (4.20.0)
- JavaSE-9
- JUnit 5
実現すること
EclipseでJavaプロジェクトをエクスポートして実行可能jarファイルを作成したときに、テストモジュールとJUnitのライブラリを含めないようにします。
方法
1. ソースフォルダを追加
これは、ほとんどのプロジェクトで実施済みかもしれませんが、ソースフォルダを追加してテストモジュールは、こちらに固めます。
<Project>
- src ソースファイル
- test/src テストモジュールのソースファイル
2. ビルドパスを修正
2.1 ソース
ソースフォルダ test/src の「テスト・ソースを含む」を「はい」に変更します。
「ソース・フォルダーごとに出力フォルダーの指定を可能にする」にチェックを入れて、出力フォルダのパスを変更しておきます。
2.2 ライブラリー
JUnitをクラスパスに追加(モジュールパスに追加している場合は移動させる)します。
JUnitの設定で、「テスト・ソースに対してのみ表示」を「はい」に変更します。
3. 実行/デバック設定
3.1 起動構成プロパティの依存関係
「テストコードを除外する」にチェックを入れます。
4. エクスポート
あとは、実行可能jarファイルでエクスポートします。
出力したjarファイルを展開して内容を確認したところ、JUnitとテストモジュールは含まれていません。
最後に
いろいろ試して実現できたわけですが、エクスポートには起動構成プロパティの設定が効いているような気がします。
Java初心者なので詳しいことは分かりませんが・・・(汗
コメント
コメントを投稿