2014-10-28 3 views
0

у меня есть странный случай, когда плагин Maven ресурсы не фильтровать строки с @ в нихMaven фильтрации ресурсов не работает для линий с @ в нем

так, если я это свойство, определенное в pom.xml

<test-heuser.servername>abcd</test-heuser.servername> 

и эта строка в одном из своих ресурсов

@(DESCRIPTION=(FAILOVER=ON)(ADDRESS=(HOST=${test-heuser.servername}) 

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

Благодаря

+0

он должен работать :) - есть ли другой разделитель, подобный указанному в плагиатных документах? http://maven.apache.org/plugins/maven-resources-plugin/resources-mojo.html - можете ли вы попытаться поместить переменную в другую строку. Я также не уверен, что скобки правильные. Это может смутить парсер? – wemu

+0

не имеет значения по умолчанию. '@' - это разделитель сам по себе, кажется, что парсер ищет его соответствие. И да, ставя '@' в отдельной строке работает – mzzzzb

ответ

1

по умолчанию разделители являются '@', '@' и '$ {', '}'. Поэтому просто используйте разные:

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>2.7</version> 
     <configuration> 
      ... 
      <delimiters> 
      <delimiter>$[*]</delimiter> 
      </delimiters> 
      ... 
     </configuration> 
     </plugin> 
    </plugins> 
    ... 
    </build> 
    ... 
</project> 
+0

Я не понял, что '@' является разделителем сам по себе. Спасибо что подметил это. – mzzzzb