2

誤解を招かないよう、専門用語は極力使わないようにしています。

これがシナリオです。私のプロジェクトでは、コンパイルするためにjarが必要です(x.jarとしましょう)。プロジェクトがコンパイルされると、WAR ファイルに変換され、どこかにデプロイされます。
今、プロジェクトをコンパイルするために x.jar をそこに置きたいだけで、WAR ファイル内にパック (またはその一部) するべきではありません。

Maven でこれを行うにはどうすればよいですか? 依存スコープを「提供」として使用する必要がありますか

4

1 に答える 1

2

そうです、Maven の FAQに記載されているように、使用するスコープはprovided

WEB-INF/lib に JAR を含めないようにするにはどうすればよいですか? 「コンパイルのみ」のスコープが必要です。これに使用するスコープが提供されます。これは、依存関係が実行時にコンテナーまたは JDK などによって提供されることを Maven に示します。

このスコープを持つ依存関係は、推移的に渡されることも、WAR などのパッケージにバンドルされることも、ランタイム クラスパスに含まれることもありません。

すぐに試すには、次を使用できます

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp

「toy webapp」プロジェクトを生成するには、プロジェクトに依存関係を追加して に設定します<scope>provided</scope>

于 2013-10-21T16:20:19.557 に答える