2

我需要在这个问题上获得一些更新,我在 2009 年在这里找到了这个线程,但答案是使用 maven 2,我不确定 Q4E 是否适用于 maven 3。我需要在 mvn 包阶段过滤一些属性文件,以使产生的战争起作用,资源过滤与 CLI mvn install 一起工作正常。但是当我执行“在服务器上运行/在服务器上调试”时,过滤不再起作用。上述线程作者最终使用了 q4e,声称 q4e 获得了资源过滤权。我也安装了 q4e 和 m2e,但仍然无法正常工作,所以我不知道 q4e 是否无法与 maven 3 一起使用,或者我做错了什么。谢谢,

大卫

4

2 回答 2

1

更新到最新的 m2e-wtp 插件 0.15(自 0.12 以来的资源过滤错误修复),现在可以正常工作了。

于 2012-04-24T23:34:34.240 回答
0

我不确定这是否符合您的问题,但我想在构建期间使用来自 pom 的属性填充我的 web.xml 文件,并且我在 pom 中放置了一个 groovy 脚本来执行此操作。它很有效,也可能对你有用。它绝对可以在 eclipse 和命令行中使用。这是我的 pom 片段:

  <plugin>
<!-- Groovy script to set the description and version in the web.xml display name -->
    <groupId>org.codehaus.groovy.maven</groupId>
    <artifactId>gmaven-plugin</artifactId>
    <version>1.0</version>
    <executions>
      <execution>
        <id>groovy-magic</id>
        <phase>prepare-package</phase>
        <goals>
          <goal>execute</goal>
        </goals>
        <configuration>
          <source>
            def file = new File("src/main/webapp/WEB-INF/web.xml");
            def fileText = file.text;
            def match = "&lt;display-name>[^&lt;]*&lt;/display-name>";
            def replace = "&lt;display-name>"+project.description+" "+project.version+"&lt;/display-name>";
            fileText = fileText.replaceAll(match, replace);
            file.write(fileText);
            println "Updated web.xml"
          </source>
        </configuration>
      </execution>
    </executions>
  </plugin>
于 2012-04-22T07:35:39.793 回答