Я установил родительский POM для использования всеми моими проектами со стандартной конфигурацией.Я играл с maven-java-formatter-plugin и использую свой собственный файл конфигурации форматера.В родительском POM я настроил это:
<build>
...
<!-- Format the code during process-sources -->
<plugin>
<groupId>com.googlecode.maven-java-formatter-plugin</groupId>
<artifactId>maven-java-formatter-plugin</artifactId>
<version>${formatter.version}</version>
<executions>
<execution>
<phase>process-resources</phase>
<goals>
<goal>format</goal>
</goals>
</execution>
</executions>
<configuration>
<!-- Use plugin to compiler config vice those in formatter config
file -->
<overrideConfigCompilerVersion>true</overrideConfigCompilerVersion>
<compilerSource>${jdk.version}</compilerSource>
<compilerCompliance>${jdk.version}</compilerCompliance>
<compilerTargetPlatform>${jdk.version}</compilerTargetPlatform>
<!-- Use Unix line endings -->
<lineEnding>LF</lineEnding>
<!-- The formatter config file -->
<configFile>${project.basedir}/formatter-config.xml</configFile>
</configuration>
</plugin>
</plugins>
</build>
Но для этого необходимо, чтобы я включил formatter-config.xml в каждый проект.Что-то, что я хотел бы как-то сделать, это автоматически извлекать / копировать этот файл из какого-то известного местоположения (возможно, из другого проекта, единственная цель которого - сохранить этот файл) во все проекты автоматически во время фазы сборки.Я почти уверен, что есть способ сделать это, но я не могу найти правильные условия поиска.
РЕДАКТИРОВАТЬ (ответ на prunge)
Iпоместил файл конфигурации в отдельный проект (упакованный как jar) и добавил это как зависимость от моего родительского POM.Однако, когда я пытаюсь построить проект, который использует родительский POM, я получаю эту ошибку:
[ERROR] Failed to execute goal com.googlecode.maven-java-formatter-plugin:maven-java-formatter-plugin:0.3.1:format (default) on project TestServlet: Config file [eclipse/formatter-config.xml] cannot be found: Could not find resource 'eclipse/formatter-config.xml'. -> [Help 1]
Похоже, что файл formatter-config.xml не разрешается из classpath согласностраница плагина форматера, на которую вы ссылались.
Это то, что у меня есть;возможно, вы можете сказать мне, где я ошибся:
CodeFormatter (builds a jar)
|-- pom.xml
|-- src
| `-- main
| `-- resources
| `-- eclipse
| `-- formatter-config.xml
POM Parent такой же, как и выше, но добавил новую зависимость:
<groupId>my.company</groupId>
<artifactId>super-pom</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
....
<dependencies>
<dependency>
<groupId>my.company</groupId>
<artifactId>code-formatter</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
...
Нет изменений в POM проекта TestServlet;включает родительский POM:
<parent>
<groupId>my.company</groupId>
<artifactId>super-pom</artifactId>
<version>1.0</version>
</parent>