0

私はサーブレット/jsp Web プロジェクトを持っていますが、これは Eclipse で正常に動作し、war fine としてエクスポートされます (いったんクリーンアップすると)。homebrew jar (ワークスペース内の別のプロジェクトの出力)を除くすべての依存関係をWEB-INF\libフォルダーから削除して、プロジェクトを Mavenized しました。Maven ゴールを実行すると、この jar から欠落しているクラスに関するメッセージが表示されます。package

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
#..... NOTICE THIS COMES FROM A CUSTOM JAR
[ERROR] /C:/path/DataServlet.java:[3,30] package xxx.java.helpers does not exist

今これは以前に尋ねられましたが、最も厳密な解決策はローカルリポジトリを作成することのようです:インストールせずにmaven 2ビルドクラスパスにjarを追加できますか? (注:私はmaven 3にいます)。

私はこれを避けたいのですが、maven がこの jar を に詰め込む方法はありWEB-INF\lib ますwar?

cp戦争中のコンテンツにMavenプラグインを使用するソリューションWEB-INF\libは大歓迎ですが、このフォルダーの「特別な」性質を考慮したソリューションが必要だと感じています.

所見:

  • Alt+F5 は次の行を削除します。

    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
    

    これは、Java ビルド パスの「Web アプリ ライブラリ」に対応します。そのため、Maven が考慮に入れることを拒否するだけでなくWEB-INF\lib、Eclipse のビルド パスも完全に壊してしまいます。

関連している:

4

1 に答える 1

1

この jar を WEB-INF\lib から次のような依存関係として追加しましたか。

<dependency>
  <groupId>someGroupId</groupId>
  <artifactId>someArtifactId</artifactId>
  <version>1.0.0</version>
  <scope>system</scope>
  <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/homebrew jar</systemPath>
</dependency>
于 2014-06-18T13:48:24.420 に答える