Как узнать, какой подпроект загружает неправильный конфиг плагина maven? - PullRequest
0 голосов
/ 11 октября 2019

Рабочая настройка

У меня есть такая структура проекта:

root\
  + pom.xml
  +- SomeSubprojectWithResource\
  |    +- src/main/resources/theResource
  |    \- pom.xml
  +- SomeSubprojectAccessingTheResourceDuringBuild\
  |    \- pom.xml
  \- SomeSubprojectHavingOwnMavenModules\
       +- pom.xml
       +- SubSubProject1
       +- SubSubProject2

До сих пор это был один репозиторий git. Все модули первого уровня имеют корневой POM как родительский . В SomeSubprojectAccessingTheResourceDuringBuild я настроил доступ к ресурсу через properties-maven-plugin с относительным путем в главном POM:

      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>properties-maven-plugin</artifactId>
        <version>1.0-alpha-2</version>
        <executions>
          <execution>
            <phase>initialize</phase>
            <configuration>
              <files>
                <file>${parentBase}/SomeSubprojectWithResource/src/main/resources/theResource</file>
              </files>
            </configuration>
            <goals>
              <goal>read-project-properties</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

И свойство ${parentBase} установлено в SomeSubprojectAccessingTheResourceDuringBuild на ../.

Изменения, которые я сделал

Но я хочу, чтобы Модули основного Проекта получили свои отдельные репозитории git и независимое управление выпусками.

Я извлек SomeSubprojectHavingOwnMavenModules в отдельный gitхранилище и удалил его родительскую конфигурацию.

Не из модулей этого отдельного проекта относится к properties-maven-plugin.

Проблема

Когда я запускаюсборка для отдельного проекта (в новом месте) properties-maven-plugin выполняется. Я получаю ошибку, что к ресурсу нельзя получить доступ по относительному пути к новому местоположению.

[DEBUG] Goal:          org.codehaus.mojo:properties-maven-plugin:1.0-alpha-2:read-project-properties (default)
[DEBUG] Style:         Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <files>
    <file>../SomeSubprojectWithResource/src/main/resources/theResource</file>
  </files>
  <project default-value="${project}"/>
  <quiet default-value="false"/>
</configuration>

...

[INFO] --- properties-maven-plugin:1.0-alpha-2:read-project-properties (default) @ SomeSubprojectHavingOwnMavenModules ---
[DEBUG] Dependency collection stats: {ConflictMarker.analyzeTime=141900, ConflictMarker.markTime=104600, ConflictMarker.nodeCount=31, ConflictIdSorter.graphTime=44200, ConflictIdSorter.topsortTime=17200, ConflictIdSorter.conflictIdCount=14, ConflictIdSorter.conflictIdCycleCount=0, ConflictResolver.totalTime=547300, ConflictResolver.conflictItemCount=31, DefaultDependencyCollector.collectTime=35727900, DefaultDependencyCollector.transformTime=874500}
[DEBUG] org.codehaus.mojo:properties-maven-plugin:jar:1.0-alpha-2:
[DEBUG]    org.apache.maven:maven-model:jar:2.0.6:compile
[DEBUG]    org.apache.maven:maven-plugin-api:jar:2.0.6:compile
[DEBUG]    org.apache.maven:maven-project:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-settings:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-profile:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-artifact-manager:jar:2.0.6:compile
[DEBUG]          org.apache.maven:maven-repository-metadata:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-plugin-registry:jar:2.0.6:compile
[DEBUG]       org.apache.maven:maven-artifact:jar:2.0.6:compile
[DEBUG]       org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9-stable-1:compile
[DEBUG]          junit:junit:jar:3.8.2:test
[DEBUG]          classworlds:classworlds:jar:1.1-alpha-2:compile
[DEBUG]    org.codehaus.plexus:plexus-utils:jar:1.5.6:compile
[DEBUG] Created new class realm plugin>org.codehaus.mojo:properties-maven-plugin:1.0-alpha-2
[DEBUG] Importing foreign packages into class realm plugin>org.codehaus.mojo:properties-maven-plugin:1.0-alpha-2
[DEBUG]   Imported:  < maven.api
[DEBUG] Populating class realm plugin>org.codehaus.mojo:properties-maven-plugin:1.0-alpha-2
[DEBUG]   Included: org.codehaus.mojo:properties-maven-plugin:jar:1.0-alpha-2
[DEBUG]   Included: org.codehaus.plexus:plexus-utils:jar:1.5.6
[DEBUG] Configuring mojo org.codehaus.mojo:properties-maven-plugin:1.0-alpha-2:read-project-properties from plugin realm ClassRealm[plugin>org.codehaus.mojo:properties-maven-plugin:1.0-alpha-2, parent: sun.misc.Launcher$AppClassLoader@33909752]
[DEBUG] Configuring mojo 'org.codehaus.mojo:properties-maven-plugin:1.0-alpha-2:read-project-properties' with basic configurator -->
[DEBUG]   (f) files = [/absolute/Path/To/SomeSubprojectHavingOwnMavenModules/SomeSubprojectWithResource/src/main/resources/theResource]
[DEBUG]   (f) project = MavenProject: de.contiteves.pacs.ccg:SomeSubprojectHavingOwnMavenModules:3-SNAPSHOT @ /absolute/Path/To/SomeSubprojectHavingOwnMavenModules/pom.xml
[DEBUG]   (f) quiet = false
[DEBUG] -- end configuration --
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for SomeSubprojectHavingOwnMavenModules 3-SNAPSHOT:
[INFO]
[INFO] SomeSubprojectHavingOwnMavenModules ................ FAILURE [  0.853 s]
[INFO] SubSubProject1 ..................................... SKIPPED
[INFO] SubSubProject2 ..................................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.196 s
[INFO] Finished at: 2019-10-11T09:32:02+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:properties-maven-plugin:1.0-alpha-2:read-project-properties (default) on project SomeSubprojectHavingOwnMavenModules: Properties file not found: /absolute/Path/To/SomeSubprojectHavingOwnMavenModules/SomeSubprojectWithResource/src/main/resources/theResource -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:properties-maven-plugin:1.0-alpha-2:read-project-properties (default) on project PACS-CCG: Properties file not found: /absolute/Path/To/SomeSubprojectHavingOwnMavenModules/SomeSubprojectWithResource/src/main/resources/theResource
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)

Вопросы

Разделенный проект не нуждается в информации, представленной в файле ресурсов, и properties-maven-plugin не должен выполняться в первую очередь.

Как узнать, почему properties-maven-plugin выполняется с этой конфигурацией?

Как предотвратить выполнение properties-maven-plugin (с этой конфигурацией)?

...