maven构建期间替换xml中多行的问题

maven构建期间替换xml中多行的问题,maven,build,ant,maven-antrun-plugin,maven-ant-tasks,Maven,Build,Ant,Maven Antrun Plugin,Maven Ant Tasks,我需要替换在我的maven构建之后生成的war中的.wsdd文件中的多行 为此,我正在使用antrun maven插件和ant的替换任务 下面是来自pom.xml的片段: <plugin> <groupId>com.github.odavid.maven.plugins</groupId> <artifactId>antrun-maven-plugin</artifactId> <executions>

我需要替换在我的
maven
构建之后生成的
war
中的
.wsdd
文件中的多行

为此,我正在使用antrun maven插件和ant的替换任务

下面是来自
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>

现在,当在unix计算机上运行时,这会给出正确的结果,并且令牌被替换值成功替换,但不知何故,替换不会在我的windows计算机上进行


请帮助识别问题,并提供替代方法。谢谢。

我可以使用ant的
replaceregexp
任务来完成这项任务。 在
match
属性中标识
之间的第一个内容,并在
replaceregexp
任务的
replace
属性中添加替换的值

<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>