Maven 打包resource目录外资源的3种方式

博主地址:http://blog.csdn.net/difffate

之前有资源需要额外添加到工程输出,但是并不是放在maven标准的resources目录下,所以研究了下,通过以下几种方式都可以添加:

1、maven-resources-plugin插件

  1. <build>  
  2.     <plugins>  
  3.         <plugin>  
  4.             <artifactId>maven-compiler-plugin</artifactId>  
  5.             <configuration>  
  6.                 <encoding>UTF-8</encoding>  
  7.                 <source>1.7</source>  
  8.                 <target>1.7</target>  
  9.             </configuration>  
  10.         </plugin>  
  11.         <!– 插件打包 –>  
  12.         <plugin>  
  13.             <groupId>org.apache.maven.plugins</groupId>  
  14.             <artifactId>maven-resources-plugin</artifactId>  
  15.             <version>3.0.2</version>  
  16.             <executions>  
  17.                 <execution>  
  18.                     <phase>validate</phase>  
  19.                     <goals>  
  20.                         <goal>copy-resources</goal>  
  21.                     </goals>  
  22.                     <configuration>  
  23.                         <!– 输出目录 –>  
  24.                         <outputDirectory>${project.build.outputDirectory}/keystore</outputDirectory>   
  25.                         <resources>  
  26.                             <resource>  
  27.                                 <!– 资源目录 –>  
  28.                                 <directory>${project.basedir}/keystore</directory>  
  29.                                 <includes>  
  30.                                     <include>**/*.jks</include>  
  31.                                 </includes>  
  32.                             </resource>  
  33.                         </resources>  
  34.                     </configuration>  
  35.                 </execution>  
  36.             </executions>  
  37.             <configuration>  
  38.                 <nonFilteredFileExtensions>  
  39.                     <nonFilteredFileExtension>pdf</nonFilteredFileExtension>  
  40.                     <nonFilteredFileExtension>swf</nonFilteredFileExtension>  
  41.                     <nonFilteredFileExtension>data</nonFilteredFileExtension>  
  42.                 </nonFilteredFileExtensions>  
  43.             </configuration>  
  44.         </plugin>  
  45.     </plugins>  
  46. </build>  
   <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
            <!-- 插件打包 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.0.2</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <!-- 输出目录 -->
                            <outputDirectory>${project.build.outputDirectory}/keystore</outputDirectory>
                            <resources>
                                <resource>
                                    <!-- 资源目录 -->
                                    <directory>${project.basedir}/keystore</directory>
                                    <includes>
                                        <include>**/*.jks</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
                <configuration>
                    <nonFilteredFileExtensions>
                        <nonFilteredFileExtension>pdf</nonFilteredFileExtension>
                        <nonFilteredFileExtension>swf</nonFilteredFileExtension>
                        <nonFilteredFileExtension>data</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                </configuration>
            </plugin>
        </plugins>
    </build>

2、resources资源引入

  1. <build>  
  2.     <resources>  
  3.         <resource>  
  4.             <directory>src/main/resources</directory>  
  5.         </resource>  
  6.         <resource>  
  7.             <directory>${project.basedir}/keystore</directory>  
  8.             <targetPath>keystore</targetPath>  
  9.             <filtering>false</filtering>  
  10.             <includes>  
  11.                 <include>**/*.jks</include>  
  12.             </includes>  
  13.         </resource>  
  14.     </resources>  
  15. </build>  
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
            <resource>
                <directory>${project.basedir}/keystore</directory>
                <targetPath>keystore</targetPath>
                <filtering>false</filtering>
                <includes>
                    <include>**/*.jks</include>
                </includes>
            </resource>
        </resources>
    </build>

3、如果是最终是打war包,则可以用war插件

  1. <build>  
  2.        <plugins>  
  3.            <plugin>  
  4.                <artifactId>maven-compiler-plugin</artifactId>  
  5.                <configuration>  
  6.                    <encoding>UTF-8</encoding>  
  7.                    <source>1.7</source>  
  8.                    <target>1.7</target>  
  9.                </configuration>  
  10.            </plugin>  
  11.            <!– war打包插件 –>  
  12.            <plugin>  
  13.                <groupId>org.apache.maven.plugins</groupId>  
  14.                <artifactId>maven-war-plugin</artifactId>  
  15.                <configuration>  
  16.                    <webResources>  
  17.                        <resource>  
  18.                            <directory>${project.basedir}/keystore</directory>  
  19.                            <targetPath>WEB-INF/classes/keystore</targetPath>  
  20.                            <filtering>false</filtering>  
  21.                            <includes>  
  22.                                <include>**/*.jks</include>  
  23.                            </includes>  
  24.                        </resource>  
  25.                    </webResources>  
  26.                </configuration>  
  27.            </plugin>  
  28.        </plugins>  
  29.    </build>  
  <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
            <!-- war打包插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>${project.basedir}/keystore</directory>
                            <targetPath>WEB-INF/classes/keystore</targetPath>
                            <filtering>false</filtering>
                            <includes>
                                <include>**/*.jks</include>
                            </includes>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
        </plugins>
    </build>


附上Maven插件官方介绍地址:http://maven.apache.org/plugins/index.html


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Maven项目中的lib和resource单独打包,你可以使用Maven的插件来完成这个任务。以下是一常见的做法: 1. 使用Maven的`maven-jar-plugin`插件配置来打包lib: 在项目的`pom.xml`文件中,添加以下插件配置: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.0</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <mainClass>com.example.MainClass</mainClass> <!-- 替换为你的主类 --> </manifest> </archive> </configuration> </plugin> </plugins> </build> ``` 这样配置后,当你运行`mvn package`命令时,Maven会将项目的依赖库打包到一个独立的lib目录中。 2. 使用Maven的`maven-resources-plugin`插件配置来打包resource: 在项目的`pom.xml`文件中,添加以下插件配置: ```xml <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <id>copy-resources</id> <phase>package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/resources</outputDirectory> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*</include> </includes> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> ``` 这样配置后,当你运行`mvn package`命令时,Maven会将项目的资源文件打包到一个独立的resources目录中。 最后,运行`mvn package`命令即可将lib和resource分别打包到独立的目录中。注意查看Maven的输出目录以获取生成的目标文件。 希望这能帮到你!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值