1
我有一个包含这个资源context.xml文件:Maven的战争插件 - 定制过滤器delimitters在webResources
<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"/>
,并在处理Web应用程序资源Maven的战争插件过滤器,文件:
<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做到这一点!
请帮忙!
使用反斜杠,你建议,但问题仍然存在我想: '<资源名称= “myjndiname” AUTH = “容器” TYPE =“javax.sql中。数据源” driverClassName = “oracle.jdbc.OracleDriver” URL = “JDBC:预言:瘦:\ @ $ {db.server}:$ {db.port}:$ {db.name}” 用户名= “用户”密码=“pass”maxActive =“500”maxIdle =“60” maxWait =“ - 1”/>' – aminweb007
这是Maven Shared Filtering中的一个错误。如果你在https://jira.codehaus.org/browse/MSHARED/component/13380上创建一个Jira问题,我可以看看它。我想尽快发布。现在只有1个公开的问题,但这需要一些重新设计(所以2.0)。也许我可以包含这个问题的错误修正。 –
这个单元测试通过,不知道它在哪里或何时被修复:http://svn.apache.org/r1571030 –