2010-03-03 4 views
3

Почему каждый раз, когда я делаю «mvn jetty: run», maven пытается загрузить некоторые зависимости (apache poi и ojdbc jars)? Как я могу отключить это?Maven jetty зависимостей загрузки

[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

Как объяснено в главе 3.5.5. Maven's Dependency Management:

Зависимость в Maven - это не только файл JAR; это POM-файл, который, в свою очередь, может объявлять зависимости от других артефактов. Эти зависимости зависимостей называются транзитивными зависимостями, и они становятся возможными благодаря тому, что в хранилище Maven хранится не только байт-код; он хранит метаданные об артефактах.

Итак, когда Maven загружает зависимость JAR, он не только загружает JAR, но и файл POM. Здесь Maven пытается их загрузить, но они не существуют (существуют только файлы jar). Поэтому maven не будет записывать их в локальный репозиторий и снова пытается в следующий раз.

Есть 4 варианта здесь:

  1. Используйте хороший гражданин артефакты с П файлами (или попросите ответственный исправить эту проблему).
  2. Используйте диспетчер репозитория и создайте и загрузите файлы POM.
  3. Создайте файлы POM в локальном хранилище (например, используя install:install-file).
  4. Живите с ним (вздох) и бегите mvn в автономном режиме с помощью опции -o, чтобы сделать ее менее болезненной.
+0

Для ojdbc14 я редактировал мой pom.XML, repo1 Maven орг repo1 Maven орг http://repo1.maven.org/maven2 ojdbc ojdbc Но мне пришлось скачать oj dbc14.jar вручную и установите его http://lydonchandra.blogspot.com/2010/03/springsource-tool-suite-oracle-jdbc.html – portoalet

0

В принципе, зависимости будут загружены в первый раз, когда вы запускаете команду, но некоторые зависимости, возможно, потребуется сравнить его версии и попытаться получить самые современные для вас в следующий раз.

Если вы не всегда есть подключение к интернету или просто хотите короткое время сборки, вы можете добавить -o параметр, который означает форума для запуска, например mvn jetty:run -o

+0

Maven делает снова не загружать артефакты с фиксированной версии , Проблема здесь в том, что не удается загрузить ПОМ даже один раз. –

+0

ОК. виновниками являются ojdbc.jar и poi.jar – portoalet

0

Пример ответа Паскаль Thivent

Создание файлов 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 
Смежные вопросы