Предупреждения о повторяющихся зависимостях при запуске 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.

0 ответов

Другие вопросы по тегам