Я прочитал другие вопросы, но они не совсем мой вопрос.
У меня есть набор проектов, которые в настоящее время создаются с использованием Gradle, и я пытаюсь переключить все на maven, поскольку проекты основаны на Gradle, естественно в версиях артефактов используется подстановочный знак «+». Я могу решить эту проблему при генерации одного pom " BaseProject " и преобразовать:
"projectA-1.0.+" --> "projectA-1.0.0"
, и все работает отлично. но моя проблема в том, что « projectA-1.0.0 » само зависит от « project C -1.0. + », « projectD-1.0. +"и" projectE-1.0. +"и естественно я получаю ошибку компиляции. проблема в том, что каждый проект зависит от другого, и, конечно, не так интересно редактировать все остальные проекты.
"projectA-1.0.0"--> "projectC-1.0.+"
\--> "projectD-1.0.+"
\--> "projectE-1.0.+"--> "projectX-1.0.+"
\--> "projectZ-1.0.+"
Есть ли какое-либо возможное решение или обходной путь для этой проблемы?
Обновление 1
Вот изображение моего журнала ошибок, обратите внимание, что эти упомянутые артефакты не используются напрямую в моем проекте, и у меня их нет в моем POM файл. Я думаю, что они являются зависимостями моих проектов.
![enter image description here](https://i.stack.imgur.com/9VSU0.png)
update 2
вот части pom вторичной зависимости:
<?xml version="1.0" encoding="UTF-8"?>
<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>
<groupId>mygroup</groupId>
<artifactId>Myartifact</artifactId>
<version>1808.0.0</version>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.6.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>mygroup</groupId>
<artifactId>mysecondaryartifact</artifactId>
<version>1805.0.0+</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
версии, разрешенные с помощью "+", и не только в этом одном pom, эта проблема существует во всех зависимостях, переведенных из gradle.
обновление 3
Как вы можете видеть в дереве зависимостей, все версии переведены в понятную для maven версию, и они понятны для maven, но только некоторые из них не понимаются для maven.
+--- mygroup:myartifact:1808.0.+ -> 1808.0.0
| +--- org.apache.logging.log4j:log4j-api:2.6.2
| +--- org.apache.logging.log4j:log4j-core:2.6.2 (*)
| +--- mygroup:mysecondaryartifactA:1805.0.0+ -> 1805.0.0 (*) Resolves
| +--- mygroup:mysecondaryartifactB:1805.0.+ -> 1902.0.0 (*) Resolves
| +--- mygroup:mysecondaryartifactC:1808.0.+ -> 1907.0.0 Resolves
| \--- mygroup:mysecondaryartifactD:2.0.+ -> 2.0.0 Does not Resolve --> Missing artifact mygroup:mysecondaryartifactD:2.0.+
| \--- commons-primitives:commons-primitives:1.0