我需要替换构建后生成的.wsdd
文件中的多行。war
maven
我正在使用antrun-maven-plugin
和ant's replace task
为此目的。
以下是来自的片段pom.xml
:
<plugin>
<groupId>com.github.odavid.maven.plugins</groupId>
<artifactId>antrun-maven-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<configuration>
<target>
<ant antfile="replace.xml">
<target name="replace-config"/>
</ant>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions></plugin>
这里的replace.xml
containsant
目标实际上替换了多行标记并war
用替换的.wsdd
文件更新 final,下面是我们替换.wsdd
文件中的多行标记的部分。
<target name ="replace-config">
<echo>********** Replacing tokens in server-config.wsdd file *************</echo>
<replace dir="${basedir}/target/as_gen/WEB-INF/" >
<include name="server-config.wsdd"/>
<replacetoken><![CDATA[<requestFlow>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="session"/>
</handler>
<handler type="java:org.apache.axis.handlers.JWSHandler">
<parameter name="scope" value="request"/>
<parameter name="extension" value=".jwr"/>
</handler>
</requestFlow>]]></replacetoken>
<replacevalue><![CDATA[<requestFlow>
<handler type="java:com.as.webservices.TS9TicketTokenSender">
<parameter name="scope" value="session"/>
</handler>
<handler name="_wss4j_as_receiver_handler" type="java:com.as.security.asWSSReceiverHandler">
<parameter name="action" value="NoSecurity"/>
</handler>
<handler type="java:com.cm.ChangeHandler"/>
<handler type="java:com.cm.WSLoggingHandler"/>
</requestFlow>
<responseFlow>
<handler type="java:com.as.webservices.TS9TicketTokenSender"/>
<handler name="_wss4j_as_sender_handler" type="java:com.as.security.asWSSSenderHandler">
<parameter name="signatureKeyIdentifier" value="IssuerSerial"/>
<parameter name="encryptionKeyIdentifier" value="IssuerSerial"/>
<parameter name="action" value="NoSecurity"/>
</handler>
<handler type="java:com.cm.WSLoggingHandler"/>
</responseFlow>
]]></replacevalue>
</replace>
现在这在 unix 机器上运行时给出了正确的结果,并且令牌被替换值成功替换,但不知何故,替换不会发生在我的 Windows 机器上。
请帮助识别问题和替代方法。谢谢。