Maven не использует более новую локально построенную / установленную зависимость - PullRequest
0 голосов
/ 10 января 2020

Недавно я столкнулся с раздражающей проблемой. У меня есть два разных проекта Maven, проверенных на моей машине для разработки. Один проект зависит от другого (скажем, проект А зависит от проекта Б), и я активно вносю изменения в оба проекта. Тем не менее, иногда Проект А не воспринимает последние изменения Проекта Б. Допустим, я делаю некоторые изменения в Project B, я собираю / устанавливаю его с ...

mvn clean install

Я даже проверяю свой локальный репозиторий ~ / .m2 /, чтобы увидеть, что jar был обновлен Но Project A по-прежнему будет использовать более старую версию Project B. Даже если она была только что обновлена ​​... Если я удаляю всю папку Project B, как в ...

rm -rf ~/.m2/repository/project-b/version/

А затем снова соберите / установите Project B, после чего моя проблема исчезла. Наконец, в проекте A будет использоваться обновленный проект B. Но я не хочу каждый раз проходить go. Любые подсказки, что может быть причиной этого?

Редактировать: Вот более или менее соответствующие части пом. xml для обоих проектов. Это чрезвычайно основа c.

Проект A pom. xml

<project
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
    xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.opendaylight.mdsal</groupId>
    <artifactId>binding-parent</artifactId>
    <version>3.0.10</version>
    <relativePath/>
  </parent>

  <groupId>company.group</groupId>
  <version>1.0.0-SNAPSHOT</version>
  <artifactId>project-A</artifactId>
  <packaging>bundle</packaging>

  <dependencies>
    <dependency>
      <groupId>company.group</groupId>
      <artifactId>project-B</artifactId>
      <version>3.1.0-SNAPSHOT</version>
    </dependency>
    ...
  </dependencies>
</project>

Проект B pom. xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>company.group</groupId>
    <artifactId>project-B-parent</artifactId>
    <version>3.1.0-SNAPSHOT</version>
  </parent>

  <groupId>company.group</groupId>
  <artifactId>project-B</artifactId>
  <version>3.1.0-SNAPSHOT</version>
  <packaging>bundle</packaging>

  <dependencies>
     ...
  <dependencies>
</project>

Ответы [ 2 ]

1 голос
/ 10 января 2020

Поскольку вы используете IntelliJ в правом верхнем углу, есть это меню maven, куда вы можете повторно импортировать все зависимости, которые мне в этом помогают:)

Since you are using IntelliJ in the right upper corner there is this maven menue, where you can reimport all dependencies which helps me in this case :=

0 голосов
/ 10 января 2020

Попробуйте команду maven для загрузки всех обновленных библиотек,

mvn clean install -U

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...