2016-11-16 11 views
0

мне нужно использовать значения из файла свойств в Maven pom.xml, поэтому я использовал свойства-Maven-плагин, чтобы прочитать мои свойства файла следующим образомчтение свойства файла в Maven pom.xml не работает

pom.xml

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

qura.properties файл содержит что-то вроде этого ..

config.file.path = resources/python/config/test.py 

мне нужно использовать эту переменную config.file.path в ресурс элемента pom.xml

pom.xml

<resources> 
    <resource> 
     <directory>${basedir}/multilang/</directory> 
     <includes>    
      <include>${config.file.path}</include> 
     </includes> 
    </resource> 
<resources> 

Но значение $ {config.file.path} не занимая от qura.properties файла, и я не мог найти test.py файл в банке.

что я делаю неправильно в этом коде?

Заранее спасибо

ответ

0

попробуйте использовать версию 1.0.0 и удаляя пробелы вокруг знака равенства в свойствах файла.

например:

key=value 
+0

спасибо .. но даже после удаления пробелов он не работает для меня .. –

0

ИМО, это не имеет значения, ставить ли вы пробелы или не вокруг знака равенства в файле свойств. Вам может потребоваться проверить, существует ли ${config.file.path} в каталоге, указанном ${basedir}/multilang

Ниже представлен фрагмент снизу.

<plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-resources-plugin</artifactId> 
      <version>2.6</version> 
      <executions> 
       <execution> 
        <id>copy-resources</id> 
        <goals> 
         <goal>copy-resources</goal> 
        </goals> 
        <configuration> 
         <resources> 
          <resource> 
           <directory>src/main</directory> 
           <includes> 
            <include>${config.file.path}</include> 
           </includes> 
          </resource> 
         </resources> 
        </configuration> 
        <inherited></inherited> 
       </execution> 
      </executions> 
     </plugin> 

     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>properties-maven-plugin</artifactId> 
      <version>1.0-alpha-2</version> 
      <executions> 
       <execution> 
        <phase>validate</phase> 
        <goals> 
         <goal>read-project-properties</goal> 
        </goals> 
        <configuration> 
         <files> 
          <file>${basedir}/src/main/resources/qura.properties</file> 
         </files> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
+0

спасибо .. но добавление Maven-ресурсы-плагин, чтобы включить ресурсы и удаление пробелов в файлах свойств не работает для меня. Я уверен, что существует каталог $ {config.file.path}. –

+0

Мое общее требование заключается в том, что мне нужно включать ресурсы, специфичные для чего-то вроде клиента. Скажем, я хочу включить test1.py для client-1 и test2.py для client-2, как это .. поэтому я попытался это сделать имена файлов в файле свойств и попытались использовать его внутри pom.xml .. но это не работает для меня .. Есть ли другой способ включить ресурсы, как то, что мне нужно –