如何在项目构建期间从maven过滤一些文件夹/文件?

时间:2015-12-03 15:30:19

标签: java spring maven pom.xml maven-jar-plugin

我在window.addEventListener('keydown',function (event) { if (event.which == 187) { $("#equals").trigger("click"); return false; } }); spring处有这个文件,当我运行./META-INF/spring/props.properties时,我希望在我已构建的.jar中拥有该文件mvn clean package。我希望出于安全目的提供此文件。

我试图在我的mvn deploy上添加此功能,但无法正常工作。

pom.xml

2 个答案:

答案 0 :(得分:0)

你不想将它们从你的构建中排除,你仍然希望它们进入你的类路径我猜,但你不希望它们作为你最后一个jar的一部分,因此你的切入点不是resources元素,但Maven Jar插件配置。

从官方文档here查看如何从包装中排除资源。

下面是一个可能的摘录:

<project>
  ...
  <build>
    <plugins>
      ...
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <excludes>
            <exclude>**/spring/props.properties</exclude>
          </excludes>
        </configuration>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

答案 1 :(得分:0)

要排除正在构建的文件,pom应该是这样的。

<project>
  ...
  <build>
  ...
    <resources>
       <resource>
          <directory>META-INF/spring</directory>
          <includes>
            <include>**/*</include>
          </includes>
          <excludes>
             <exclude>props.properties</exclude>
          </excludes>
      </resource>
    </resources>
  </build>
</project>

仅将其从jar中排除:

<project>
  ...
  <build>
    <plugins>
      ...
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <includes>
            <include>**/*</include>
          </includes>
          <excludes>
             <exclude>META-INF/spring/props.properties</exclude>
          </excludes>
        </configuration>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

对于战争文件:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <packagingExcludes>META-INF/spring/prop.properties</packagingExcludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>