2013-03-25 2 views
0

У меня есть файл dev/XYZ.properties, я создаю файл jar с помощью maven -P dev install. Как я могу поместить файл свойств в child.jar/META-INF/XYZ.properties файлаMaven Profiles Jar issues

ответ

0

Вы должны выполнить maven-resources-plugin:copy-resources целей для вашего профиля dev и связать его с соответствующей фазой (process-resources кажется лучшим этапом для меня). Вот как определить свой профиль dev:

<profile> 
    <id>dev</id> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-resources-plugin</artifactId> 
      <version>2.6</version> 
      <executions> 
      <execution> 
       <id>copy-resources</id> 
       <phase>process-resources</phase> 
       <goals> 
       <goal>copy-resources</goal> 
       </goals> 
       <configuration> 
        <outputDirectory>${basedir}/target/classes/META-INF</outputDirectory> 
        <resources>   
        <resource> 
         <directory>${basedir}/dev</directory> 
         <includes> 
         <include>XYZ.properties</include> 
         </includes> 
        </resource> 
        </resources>    
       </configuration>    
      </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 
+0

Спасибо за код, я могу развернуть файл свойств на уровне ребенка на основе профиля. Если я запускаю тестовый профиль, child-test.jar развертывается, как ожидалось. И теперь, если я хочу создать военный файл из родительского проекта, если я хочу запустить dev-профиль, я получаю parent-dev.war, child-jat внутри jar все еще child-test.jar. Это так, как ожидается. Если я хочу, чтобы все профили разработчиков в моих войнах и файле jar, waht мне нужно сделать, можете ли вы посоветуете – user665837

+0

, что вы приветствуете. не стесняйтесь повышать и принимать мой ответ ... вот как это происходит в stackoverflow (http://stackoverflow.com/about) – ben75

+0

, если я запустил dev-профиль в родительском проекте, я не получаю dev-профили на дочернем dev профили, если моя целевая папка в моем затмении не пуста, есть ли какой-либо способ в maven, я могу преодолеть эту проблему, то есть, если я запустил dev-профиль в родительском проекте, все мои родительские и дочерние проекты должны получить значения на основе профиля, который я запустите, например, dev в этом случае. – user665837