Maven - как поставить файлы jar зависимости зависимости сборки? - PullRequest
0 голосов
/ 21 мая 2010

Я запускаю простой CXF maven проект http://cxf.apache.org/docs/using-cxf-with-maven.html, и получаю ошибку ниже

[INFO] [cxf-codegen:wsdl2java {execution: generate-sources}]
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------
[INFO] org/springframework/core/io/support/ResourcePatternResolver

org.springframework.core.io.support.ResourcePatternResolver
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: org/springframework/core/io/support/ResourcePatternResolver
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)

Я не знаю, как определить зависимость ядра от пружинной рамы?

Я пробовал ниже, как и большинство ответов

       <dependency>
         <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>2.5.6</version>
   </dependency>
</dependencies>

но это не помогло, я также не знаю, почему это зависит от работы пружин

Это работает, если я помещаю файл jar в $ M2_HOME / lib, но правильно ли это? так как, когда я решаю это, требуется добавить туда больше lib, могу ли я поместить его в pom.xml где-нибудь?

Я пытался поместить <dependencies/> внутри тега <build>, он не работает

у меня maven 2.2.1 на windows

Ответы [ 4 ]

2 голосов
/ 21 мая 2010

Это работает, если я помещаю jar-файл в $ M2_HOME / lib, но правильно ли это?

Нет, определенно нет. Чтобы добавить зависимость, вам нужно объявить ее в вашем pom.xml, примерно так:

<project>
  ...
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>???</version>
    </dependency>
    ...
  </dependencies>
</project>

Но я не понимаю, почему вы должны добавить эту зависимость, spring-core является зависимостью cxf, вы должны получить ее транзитивно. Вы не предоставляете достаточно контекстной информации для более точного ответа.

1 голос
/ 22 мая 2010

Наконец-то я нашел его сам, это из-за ошибки моего пакета springframework-2.5.5 из локального репозитория. Файл JAR не является правильным. Я замечаю это позже в затмении

Ответ Паскаля также верен.

springframework-2.5.5 автоматически загружается maven, к сожалению, он не работает, поэтому он все еще жалуется на класс, и если я помещу springframework-2.5.6 внутрь, даже если он будет загружен, он не будет использоваться maven все еще думает, что загрузил springframework-2.5.5 в свой путь к классам.

И если я помещу в% M2_HOME% / lib, конечно, это будет путь к классу maven, и его использование неправильно.

Так как раньше я сталкивался с такой проблемой, теперь я знаю, что это такое.

Сводка: проверка ваших файлов зависимостей для проверки правильности пакета

Кстати: спасибо за все особенно паскаль

1 голос
/ 21 мая 2010

Вам необходимо добавить это в ваш файл Maven pom.xml в разделе <dependencies>:

 <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>???</version>
  </dependency>

Номер версии будет зависеть от того, какую версию пружины вы используете. (Я использую 2.0 в качестве версии # вместе с весной 2.0.8).

1 голос
/ 21 мая 2010

Вы должны определить это в pom.xml

Читайте документы на http://maven.apache.org/pom.html#Dependencies

...