Предупреждения о повторяющихся зависимостях при запуске mwe2Launcher из сборки Maven
В последнее время я вижу много предупреждений, когда mwe2Launcher выполняется в сборке Maven для языкового проекта Xtext. Это несколько похоже на проблему, описанную в другом вопросе, но у меня конкретно проблемы с дублированием между стандартными зависимостями Maven и зависимостями OSGi из локального репозитория p2:
[INFO] --- exec-maven-plugin:3.0.0:java (mwe2Launcher) @ fava ---
0 WARN StandaloneSetup - Skipping conflicting project com.google.guava at 'archive:file:/Users/mr/.m2/repository/com/google/guava/guava/27.1-jre/guava-27.1-jre.jar!/' and using 'archive:file:/Users/mr/.m2/repository/p2/osgi/bundle/com.google.guava/27.1.0.v20190517-1946/com.google.guava-27.1.0.v20190517-1946.jar!/' instead.
4 WARN StandaloneSetup - Skipping conflicting project com.google.inject at 'archive:file:/Users/mr/.m2/repository/com/google/inject/guice/3.0/guice-3.0.jar!/' and using 'archive:file:/Users/mr/.m2/repository/p2/osgi/bundle/com.google.inject/3.0.0.v201605172100/com.google.inject-3.0.0.v201605172100.jar!/' instead.
4 WARN StandaloneSetup - Skipping conflicting project javax.inject at 'archive:file:/Users/mr/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar!/' and using 'archive:file:/Users/mr/.m2/repository/p2/osgi/bundle/javax.inject/1.0.0.v20091030/javax.inject-1.0.0.v20091030.jar!/' instead.
...
Каждое предупреждение жалуется на стандартную зависимость Maven от ~/.m2/repository
и соответствующая зависимость OSGi от ~/.m2/repository/p2
(с квалифицированным номером версии OSGi). Я предпочитаю, чтобы все сборки Maven не содержали каких-либо предупреждений, потому что в противном случае по мере развития проектов это становится скользкой дорожкой, где часто неясно, какие предупреждения являются "нормальными", а какие требуют каких-либо действий. Так что очень хотелось бы избавиться от этих предупреждений (их несколько десятков). Следующие вещи я пытался (безуспешно) решить эту проблему:
- использовать
<includePluginDependencies>false</includePluginDependencies>
вexec-maven-plugin
конфигурация - плагин не запускается из-за отсутствия зависимостей (некоторые из которых доступны только как зависимости OSGi p2, а не как зависимости Maven) - использовать исключения в
exec-maven-plugin
зависимости для некоторых дубликатов - это, похоже, не имеет никакого эффекта; похоже, что исключения вообще не обрабатываются - понизить рейтинг
org.eclipse.emf.mwe2.launch
зависимость от 2.11.3 до 2.11.2 или 2.11.1 - это заставляет сборку зависать на неопределенное время
Для справки, вот соответствующая строфа Maven:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>mwe2Launcher</id>
<phase>generate-sources</phase>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher</mainClass>
<arguments>
<argument>/${project.basedir}/src/fxxx/Fxxx.mwe2</argument>
<argument>-p</argument>
<argument>rootPath=/${project.basedir}/..</argument>
</arguments>
<classpathScope>compile</classpathScope>
<includePluginDependencies>true</includePluginDependencies>
<cleanupDaemonThreads>false</cleanupDaemonThreads><!-- see https://bugs.eclipse.org/bugs/show_bug.cgi?id=475098#c3 -->
</configuration>
<dependencies>
<dependency>
<groupId>org.eclipse.emf</groupId>
<artifactId>org.eclipse.emf.mwe2.launch</artifactId>
<version>2.11.3</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.common.types</artifactId>
<version>${xtext.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.xtext.generator</artifactId>
<version>${xtext.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>org.eclipse.xtext.xbase</artifactId>
<version>${xtext.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.xtext</groupId>
<artifactId>xtext-antlr-generator</artifactId>
<version>[2.1.1, 3)</version>
</dependency>
</dependencies>
</plugin>
Версия Xtext - 2.22, и у меня есть (пока не подтвержденное) подозрение, что эта проблема возникла, когда я обновился с Xtext 2.19 до Xtext 2.22.