2011-01-20 18 views
-1

私はMavenを使用してビルドを管理しています。開発者テストのために私はJettyを使っています:Jetty:run目標はJetty Mavenプラグインです。また、私は戦争があることにも気づくべきです:Jettyが実行するディレクトリを構築する初期の段階で展開されています。Maven経由でJettyを実行しているクラスパスの問題

私が抱えている問題は、戦争:分解されたタスクがビルドの依存関係をWEB-INF/libに入れていることです。さらにMavenはシステムクラスローダー経由でビルドクラスパスをJettyに供給しているようです。これは、悲しいことに、Datanucleusライブラリがクラスパスに2回目にロードされたときに例外をスローすることを除いて、すべてのジャーが2回ロードされることになります。になります。

私が今考えている唯一の解決策は、2つのプロファイル、ビルドプロファイル、および開発者テストプロファイルを作成することです。開発者テストプロファイルではすべての依存関係が除外され、jetty:runは開発者テストプロファイルで実行されます。これは私が単純だと思う何かのための構成の多くのように思えます。

MavenがJettyにビルドクラスパスをロードするのを防ぐ方法があるかどうかは誰にも分かりますか?

答えて

2
<plugin> 
<groupId>org.mortbay.jetty</groupId> 
<artifactId>maven-jetty-plugin</artifactId> 
<version>6.1.26</version> 
<configuration> 
    <useTestClasspath>true</useTestClasspath> 

...

オプション "useTestClasspathは、" あなたが探している効果を持っている必要があります。

関連する問題