Я хотел бы создать файл jar с исходным кодом для своего проекта, поэтому я включил плагин maven-source. Однако я также использую подключаемый модуль фильтрации ресурсов, чтобы установить номер версии в файле свойств для моего проекта. Когда я создаю окончательный файл jar, файл свойств фильтруется и устанавливается версия. Однако в исходной банке все еще есть нефильтрованное свойство. Я хотел бы, чтобы плагин источников также вызывал фильтрацию ресурсов. Как я могу это сделать?
Вот (часть) моего pom.xml
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
и вот файл свойств, который я хочу отфильтровать
version = ${project.version}
ИЗМЕНИТЬ
Для пояснения, корень моей проблемы в том, что у меня есть другой проект, который представляет собой проект GWT, созданный с использованием этой библиотеки. Часть требований проекта GWT заключается в том, что исходный код также должен быть доступен для всего, что будет скомпилировано в javascript на стороне клиента. Таким образом, этот проект содержит как скомпилированный файл jar, так и файл jar с исходным кодом в пути к классам.
Таким образом, теперь есть два файла свойств с одним и тем же путем и именем пакета, один существует в скомпилированном jar-файле, а другой — в исходном jar-файле.
Когда я пытаюсь прочитать этот файл, он, кажется, выбирает файл свойств из jar-файла с исходным кодом, который не был отфильтрован.
<sourceDirectory>
и<testSourceDirectory>
не имеет смысла, потому что они установлены по умолчанию. (Конвенция важнее конфигурации). - person khmarbaise   schedule 23.02.2017