2013-03-11 5 views
5

Eclipse(4.2 Juno)とm2eをデフォルト設定で使用しています。ソースコードはsrc/main/java、テストコードはsrc/test/javaです。メインコードがテストコードを参照しているときにeclipse(maven、m2eを使用)でエラー/警告をスローすることはできますか?

時々私は間違いなくimportテストのいくつかのものをメインのクラスにします。 Eclipseはこれに不平を言っていません(src/main/javasrc/test/javaは、m2eを使用する場合はソースフォルダとして設定されています)。テスト環境(JUnit)がmainとtestの両方のコードにアクセスできるので、しかし、後で(主観的にテストされた後で)メインコードを後で実行しようとすると、コードを使用しようとすると必然的にClassNotFoundExceptionが残ってしまいます。

この場合、Eclipseにエラーまたは警告が表示されるようにする方法はありますか?

+1

"mvn compile"を実行すると、ファイルは正しいクラスパスでコンパイルされます。 –

+1

maven-enforcer-pluginルールを使用して、テストジャーに依存しないことを確認することができます。そして、@ThorbjørnRavnAndersenが示唆していることをCIシステムにさせるべきです。 – SpaceTrucker

+0

私のプロジェクトは小さすぎてCIをセットアップできません。私はかなり唯一のコミッタです。私はコマンドラインからmavenを使う方法を決して気にかけなかったと言っても恥ずかしいです...私はmvnコンパイルを他のエラーもなく実行することさえできません。今のところ私はちょうど私がEclipseでコーディングに行くことができるかどうかを知りたいと思います:) –

答えて

0

src/main/javaのコードがsrc/test/javaのコードを参照している場合、それは単純にMavenでコンパイルされません。そのために独自のエンフォーサルールを書く必要はありません。

0

残念ながら、私が知っているこれを行う方法はありません。 m2eは時には他の方法でもクラスパスを間違ってしまうので、コードコンパイルについてEclipseが言っていることに関係なく、チェックインする前にMavenビルドの実行に慣れるべきです。

このプレゼンテーションhttp://www.eclipsecon.org/europe2012/sites/eclipsecon.org.europe2012/files/EclipseConEU2012-m2e-talk.pdf(詳細は「依存関係スコープ」を参照)を参照してください。

関連する問題