Maven-war-plugin — настроить разделители фильтров в веб-ресурсах

У меня есть файл context.xml, содержащий этот ресурс:

<Resource name="${jndi.name}" auth="Container"
          type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
          url="jdbc:oracle:thin:@${db.server}:${db.port}:${db.name}"
          username="${db.user}" password="${db.pwd}" maxActive="500" maxIdle="60"
          maxWait="-1"/>

и при обработке ресурсов веб-приложения maven-war-plugin фильтрует этот файл:

<plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <dependentWarExcludes>WEB-INF/lib/*.jar,**/web.xml</dependentWarExcludes>
          <webResources>
            ....
            <resource>
              <directory>src/main/webapp/META-INF</directory>
              <targetPath>META-INF</targetPath>
              <filtering>true</filtering>
            </resource>
            ....
          </webResources>
        </configuration>
      </plugin>

и результат:

<Resource name="myjndiname" auth="Container"
          type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
          url="jdbc:oracle:thin:@${db.server}:${db.port}:${db.name}"
          username="user" password="pass" maxActive="500" maxIdle="60"
          maxWait="-1"/>

часть URL не фильтруется, так как '@' интерпретируется как разделитель. Параметр-разделитель можно настроить для maven-resources-plugin, но я понятия не имею, как это сделать для maven-war-plugin!

Пожалуйста помоги !


person aminweb007    schedule 14.02.2014    source источник


Ответы (1)


Попробуйте избежать знака at, например \@

person Robert Scholte    schedule 15.02.2014
comment
Я попытался использовать обратную косую черту, как вы советовали, но проблема все еще существует: <Resource name="myjndiname" auth="Container" type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:\@${db.server}:${db.port}:${db.name}" username="user" password="pass" maxActive="500" maxIdle="60" maxWait="-1"/> - person aminweb007; 17.02.2014
comment
Это ошибка в общей фильтрации Maven. Если вы создаете задачу Jira на jira.codehaus.org/browse/MSHARED/component/13380 Я могу взглянуть на это. Я хотел бы сделать выпуск в ближайшее время. На данный момент есть только одна открытая проблема, но она требует небольшого изменения дизайна (поэтому версия 2.0). Может быть, я могу включить исправление для этой проблемы. - person Robert Scholte; 20.02.2014
comment
Этот модульный тест проходит успешно, не знаю, где и когда он был исправлен: svn.apache.org/r1571030 - person Robert Scholte; 23.02.2014
comment
Спасибо за разъяснения, а то я что-то накосячил ^^ - person aminweb007; 24.02.2014