2017-01-12 13 views
0

Я хочу извлечь artifactId из pom.xml и использовать этот файл artifactId для заполнения файла свойств.Заполнить файл свойств среды, используя pom.xml proeprties

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>xxxxx</groupId> 
    <artifactId>fm-service</artifactId> 
    <packaging>war</packaging> 
    <version>x.x.x-SNAPSHOT</version> 
</project> 

application.preperties

email.subject = "ALERT - [artifactId from pom.xml]" 

Является ли это возможно сделать? Если да, то как, если нет, то предложите альтернативы.

+0

Существует ли файл свойств уже или вы хотите написать его с нуля? Кроме того, вы хотите сделать это в maven, или это не имеет значения? – Kraylog

+0

Да, файл свойств существует, и я хочу его в maven. – rohanagarwal

ответ

2

Maven обеспечивает способ filter resources.

Во-первых, файл application.preperties должен быть помещен в каталог src/main/resources. Тогда его содержание должно быть:

email.subject = "ALERT - ${project.artifactId}" 

Последнее (но не в последнюю очередь) просто добавить в конфигурацию POM:

<build> 
    <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <filtering>true</filtering> 
     </resource> 
    </resources> 
</build> 

Теперь все файлы в каталоге ресурсов будет фильтроваться, а это значит, что все переменные внутри разрешены.

+0

true означает исключить или включить? – rohanagarwal

+0

В качестве связанной документации ([Maven Filtering] (https://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html)) описывается: ' true' означает, что все файлы ресурсов отфильтрованы до того, как он будет помещен в целевой каталог. – Seelenvirtuose

 Смежные вопросы

  • Нет связанных вопросов^_^