Проблема с двумя локальными проектами Maven и $ {project.build.version} - PullRequest
0 голосов
/ 28 сентября 2019

У меня есть LOCAL_PROJECT_1:

-- multi-module-first
 |-- module-core
   |-- ...
   |-- pom.xml
 |-- module-extra
   |-- ...
   |-- pom.xml
 |-- pom.xml

... и LOCAL_PROJECT_2:

-- multi-module-second
 |-- another-module-core
   |-- ...
   |-- pom.xml
 |-- another-module-extra
   |-- ...
   |-- pom.xml
 |-- pom.xml

LOCAL_PROJECT_2 имеет зависимость LOCAL_PROJECT_1

при запуске mvn install вLOCAL_PROJECT_1 следующие каталоги создаются в .m2 / repository / PACKAGE_PATH_OF_PROJECT_1 /

-- multi-module-first
 |-- 1 (because of <project.build.version>1</project.build.version>)
   |-- multi-module-first-1.pom
-- module-core
 |-- 1
   |-- module-core-1.jar
   |-- module-core-1.pom
-- module-extra
 |-- 1
   |-- module-extra-1.jar
   |-- module-extra-1.pom

Затем я пытаюсь сделать то же самое с LOCAL_PROJECT_2, но получаю:

[ERROR] Failed to execute goal on project LOCAL_PROJECT_2_CORE: Could not resolve dependencies for project local.project2.groupId:another-module-core:jar:1: Failed to collect dependencies at PROJECT_1_GROUP:module-core:jar:1: Failed to read artifact descriptor for PROJECT_1_GROUP:module-core:jar:1: Could not transfer artifact PROJECT_1_GROUP:multi-module-first:pom:${project.build.version} from/to 1 (https://repo.boundlessgeo.com/main): Failed to transfer file https://repo.boundlessgeo.com/main/PACKAGE_PATH_OF_PROJECT_1/$%7Bproject.build.version%7D/PROJECT_1_GROUP-$%7Bproject.build.version%7D.pom with status code 400 -> [Help 1]

Основная часть ошибки1016 *

После этого шага, если я проверяю .m2 / repository / PACKAGE_PATH_OF_PROJECT_1 / я вижу, что каталог ${project.build.version} был создан

-- multi-module-first
 |-- 1
   |-- multi-module-first-1.pom
 |-- ${project.build.version}
-- module-core
 |-- 1
   |-- multi-module-1.jar
   |-- multi-module-1.pom
-- module-extra
 |-- 1
   |-- multi-extra-1.jar
   |-- multi-extra-1.pom

, и если я проверяю multi-module-first-1.pom я вижу

...
<groupId>PROJECT_1_GROUP</groupId>
<artifactId>multi-module-first</artifactId>
<version>${project.build.version}</version>
<packaging>pom</packaging>

<modules>
    <module>module-core</module>
    <module>module-extras</module>
</modules>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.build.version>1</project.build.version>
    <maven.compiler.source>12</maven.compiler.source>
    <maven.compiler.target>12</maven.compiler.target>
</properties>
...

Так что мне кажется, что Maven не знает, что он должен использовать версию LOCAL_PROJECT_1 версии 1, и считает, что "номер" версии, который он должен использовать, равен ${project.build.version}.

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