`

maven package

 
阅读更多

把资源文件放到jar包外,依赖的jar放到lib目录下,最终生成一个zip包发布,如下:

zip

 |--xxx.jar

 |--log4j.xml

 |--config

 |    |

 |    |--xxx.xml

 |    |--xxx.properties

 |

 |--lib

 |    |--a.jar

 |    |--b.jar

 

pom

	<build>
		<sourceDirectory>src</sourceDirectory>
 		<resources>
      		<resource>
        		<directory>src/main/resources</directory>
        			<excludes>
          				<exclude>log4j.xml</exclude>
          				<exclude>config/**</exclude>          				
			        </excludes>
      		</resource>      
    	</resources>		
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
				</configuration>
			</plugin>
			<plugin>  
			    <groupId>org.apache.maven.plugins</groupId>  
			    <artifactId>maven-jar-plugin</artifactId>  
			    <version>2.4</version>  
			    <configuration>  
			        <archive>  
			            <manifest>  
			                <addClasspath>true</addClasspath>  
			                <classpathPrefix>lib/</classpathPrefix>  
			                <mainClass>com.test.Main</mainClass>  
			            </manifest>  
			        </archive>  
			    </configuration>  
			</plugin>		
 			<plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <!-- not append assembly id in release file name -->
                    <appendAssemblyId>false</appendAssemblyId>
                    <descriptors>
                        <descriptor>src/assemble/package.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>			
		</plugins>
	</build>

 package.xml

<assembly xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/assembly-1.0.0.xsd">
    <id>package</id>
    <formats>
        <format>zip</format>
    </formats>
    <includeBaseDirectory>true</includeBaseDirectory>
    <fileSets>
		<fileSet>
			<directory>${project.build.directory}</directory>
			<outputDirectory>/</outputDirectory>
			<includes>        
				<include>${artifactId}-${version}.jar</include>
			</includes>
		</fileSet>		
        <fileSet>
            <directory>src/main/resources</directory>
            <outputDirectory>/</outputDirectory>
			<includes>        
				<include>log4j.xml</include>
				<include>config/**</include>
			</includes>			
        </fileSet>        	
    </fileSets>
    <dependencySets>
        <dependencySet>
            <outputDirectory>lib</outputDirectory>
            <scope>runtime</scope>
        </dependencySet>
    </dependencySets>
</assembly>

 

 

参考

http://www.blogjava.net/aoxj/archive/2009/01/16/251615.html

http://stackoverflow.com/questions/4113697/in-maven-how-to-exclude-resources-from-the-generated-jar

分享到:
评论

相关推荐

    maven_package 依赖包(完整)

    maven 依赖包(完整)适合大多数项目,如:log4j-1.2.17.jar等

    maven_package.zip

    maven打包项目测试,内含开发版,测试版和生产环境

    如何提高Maven多模块项目编译速度.docx

    Maven多模块项目编译速度慢,下面我们来学习下优化的方法。 mvn clean package -T 4C -Dmaven.test.skip=true -Dmaven.compile.fork=true -T 4C 代表本机4个CPU内核都参与编译工程, -Dmaven.test.skip=true 代表...

    sonar-maven-plugin-3.6.0.1398.jar

    java运行依赖jar包

    maven本地仓库

    maven本地仓库,默认位置在~/.m2/repositor。Eclipse中不需要配置,只需要把本地仓库放到当前用户目录下的.m2下。

    flink-streaming-java_2.12-1.14.3-API文档-中文版.zip

    赠送Maven依赖信息文件:flink-streaming-java_2.12-1.14.3.pom; 包含翻译后的API文档:flink-streaming-java_2.12-1.14.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.apache.flink:flink-streaming-java_...

    maven-pom-package.zip

    maven打包教程,涉及到maven-jar-plugin、maven-resources-plugin、maven-maven-dependency-plugin、spring-boot-maven-plugin插件

    Spring3.1.2+Mybatis3.1.1+Restlet2.0.1框架HelloWorld实例(Maven)

    Spring3.1.2+Mybatis3.1.1+Restlet2.0.1框架HelloWorld实例(Maven)...maven package生成后打包war部署到tomacat测试: http://localhost:8080/oa/rest/hello 数据库为postgresql 9.2,单元测试中有mybatis的数据库操作

    autorun_package_multi.py

    根据配置项目路径,批量执行“maven clean”和“maven package -DskipTest”,多线程打包,可手动配置线程数,待所有线程打包结束,执行copy命令收取打好的war和jar至配置的收集路径。

    基于Java实现的Shellcode加载器源码+项目说明.zip

    maven package 使用 默认会随机注入32位进程,请使用32位的shellcode ``` java -jar ShellcodeLoader.jar shellcode_hex ``` 注入x64位shellcode ``` java -jar ShellcodeLoader.jar --x64 shellcode_hex ``` ...

    悟空CRM 9.0(JAVA版)

    取消以上代码的注释,将jetty和undertow的引用注释掉,将packaging从jar改为war然后运行maven package命令,将war包放在tomcat/webapps目录下 二、Jetty部署 &lt;groupId&gt;com.jfinal&lt;/groupId&gt; &lt;artifactId&gt;jetty-...

    Eclipse整合Maven开发教程

    4.5 Maven Build(package) 16 4.6 Maven Install(安装) 17 4.7 Maven Clean 18 4.8 新建Web工程 18 4.9 运行Web工程 19 5. 依赖关系 20 5.1 第三方依赖 20 5.2 本地工程依赖 25 6. 遇到问题 31 6.1 ...

    maven_install_package.bat

    bat脚本支持快速maven打包,可配置并结合本地仓库使用. bat脚本支持快速maven打包,可配置并结合本地仓库使用. bat脚本支持快速maven打包,可配置并结合本地仓库使用.

    Maven3实战笔记04Maven的生命周期和插件

    Maven3实战笔记04——Maven的生命周期和插件。

    maven详细使用教程

    maven提供了多种命令,例如mvn compile、mvn test、mvn package等。mvn compile命令用于编译项目,mvn test命令用于执行测试,mvn package命令用于打包项目。 maven项目示例 hello项目是一个简单的maven项目,通过...

    maven常用包

    maven常用包

    maven-mvnd提供更快的Maven构建

    编辑工具目录中的conf/mvnd.properties配置文件,修改maven.settings属性值为你本地使用的maven配置,这样可以复用maven配置,不用再重新下载一堆儿jar包了 注意使用linux下的路径分隔符/; 配置mvnd可执行文件到...

    springBoot非maven项目所需jar包

    电脑暂时没有装maven,最近突发奇想,向在搭建一个spring boot非maven项目,折腾了两个小时,下载jar包冲突问题居多,最后结合网上博客,整理了一份spring boot所需的jar包,亲测没有问题

    sprintboot maven 打包分离lib jar 资源文件 properties xml yml

    sprintboot maven 打包分离lib jar 资源文件 properties xml yml 详细信息查看我的博客 https://mp.csdn.net/postedit/80274087 java -jar -cp 启动

    maven常用的命令

    Maven 常用命令 Maven 是一个基于项目对象模型(Project Object Model,POM)的项目管理工具,主要用于管理和构建 Java 项目。以下是 Maven 中的一些常用命令: 1. 创建项目 Maven 提供了 archetype 机制来快速...

Global site tag (gtag.js) - Google Analytics