4

「mvn jetty:run」を実行するたびに、maven がいくつかの依存関係 (apache poi および ojdbc jar) をダウンロードしようとするのはなぜですか? どうすればこれを無効にできますか?

[INFO] Scanning for projects..    
[INFO] Searching repository for plugin with prefix: 'jetty'.
[INFO] ------------------------------------------------------------------------
[INFO] Building infolitReport
[INFO]    task-segment: [jetty:run]
[INFO] ------------------------------------------------------------------------
[INFO] Preparing jetty:run
Downloading: http://repository.springsource.com/maven/bundles/release/org/apache/poi/com.springsource.org.apache.poi/3.6/com.springsource.org.apache.poi-3.6.pom
Downloading: http://repository.springsource.com/maven/bundles/external/org/apache/poi/com.springsource.org.apache.poi/3.6/com.springsource.org.apache.poi-3.6.pom
Downloading: http://repository.springsource.com/maven/bundles/milestone/org/apache/poi/com.springsource.org.apache.poi/3.6/com.springsource.org.apache.poi-3.6.pom
Downloading: http://repository.springsource.com/maven/bundles/snapshot/org/apache/poi/com.springsource.org.apache.poi/3.6/com.springsource.org.apache.poi-3.6.pom
Downloading: http://repo1.maven.org/maven2/org/apache/poi/com.springsource.org.apache.poi/3.6/com.springsource.org.apache.poi-3.6.pom
Downloading: http://repository.springsource.com/maven/bundles/release/com/oracle/ojdbc14/10.2.0.2/ojdbc14-10.2.0.2.pom
Downloading: http://repository.springsource.com/maven/bundles/external/com/oracle/ojdbc14/10.2.0.2/ojdbc14-10.2.0.2.pom
Downloading: http://repository.springsource.com/maven/bundles/milestone/com/oracle/ojdbc14/10.2.0.2/ojdbc14-10.2.0.2.pom
Downloading: http://repository.springsource.com/maven/bundles/snapshot/com/oracle/ojdbc14/10.2.0.2/ojdbc14-10.2.0.2.pom
Downloading: http://repo1.maven.org/maven2/com/oracle/ojdbc14/10.2.0.2/ojdbc14-10.2.0.2.pom
[INFO] [aspectj:compile {execution: default}]
4

4 に答える 4

4

3.5.5章で説明したとおりです。Maven の依存関係管理:

Maven の依存関係は単なる JAR ファイルではありません。これは、他のアーティファクトへの依存関係を宣言する可能性のある POM ファイルです。依存関係のこれらの依存関係は推移的な依存関係と呼ばれ、Maven リポジトリが単なるバイトコード以上のものを格納するという事実によって可能になります。アーティファクトに関するメタデータを保存します。

そのため、Maven が JAR 依存関係をダウンロードすると、JAR だけでなく POM ファイルもダウンロードされます。ここで、Maven はそれらをダウンロードしようとしますが、存在しません (jar ファイルのみが存在します)。そのため、maven はそれらをローカル リポジトリに書き込まず、次回再試行します。

ここには 4 つのオプションがあります。

  1. POM ファイルで適切な市民成果物を使用します (または、責任者に問題の修正を依頼してください)。
  2. リポジトリ マネージャーを使用して、POM ファイルを作成およびアップロードします。
  3. ローカル リポジトリに POM ファイルを作成します (たとえば、 を使用install:install-file)。
  4. それと一緒に(ため息)、mvnオフラインで実行して、-o痛みを軽減するオプションを使用してください。
于 2010-03-03T13:45:52.903 に答える
0

なぜそれを止めたいのですか?依存関係をダウンロードせずに実行できますか? それでもやりたい場合は、これをチェックしてください

http://maven.apache.org/plugins/maven-resources-plugin/examples/include-exclude.html

除外タグを見てください

于 2010-03-03T12:55:02.917 に答える
0

パスカル・ティベントの回答例

ローカル リポジトリに POM ファイルを作成します (たとえば、 を使用install:install-file) 。

mvn install:install-file -DgroupId=org.apache.commons -DartifactId=codec -Dversion=1.3 -Dpackaging=jar -Dfile=lib/commons-codec-1.3.jar -DgeneratePom=true
mvn install:install-file -DgroupId=org.apache.commons -DartifactId=httpclient -Dversion=3.1 -Dpackaging=jar -Dfile=lib/commons-httpclient-3.1.jar -DgeneratePom=true
mvn install:install-file -DgroupId=org.apache.commons -DartifactId=logging -Dversion=1.1 -Dpackaging=jar -Dfile=lib/commons-logging-1.1.jar -DgeneratePom=true
于 2010-05-12T06:38:36.610 に答える
0

基本的に、依存関係はコマンドを初めて実行するときにダウンロードされますが、依存関係によっては、次回の実行時にバージョンを比較して最新のものを取得する必要がある場合があります。

常にインターネットに接続しているとは限らない場合、または単にビルド時間を短縮したい場合は、オフライン-oで実行することを意味するパラメーターを追加できます。たとえば、mvn jetty:run -o

于 2010-03-03T13:01:31.800 に答える