`

maven工程打包为jar

阅读更多

 

  • 文章目的为:把一个jar类型的maven工程打包为jar其中jar包含当前工程所依赖的jar
  • 使用maven创建工程(commons-libs),其类型指定为jar
  • 向commons-libs工程添加所依赖的jar
  • 工程pom.xml文件添加如下配置
  • <!-- <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> 
    		<artifactId>maven-shade-plugin</artifactId> <version>2.3</version> <executions> 
    		<execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> 
    		<transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
    		<mainClass>core.Test</mainClass> </transformer> </transformers> </configuration> 
    		</execution> </executions> </plugin> </plugins> </build> -->
    
    <build>
    		<plugins>
    			<!-- <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.sysware.HelloWorld</mainClass> 
    				</manifest> </archive> </configuration> </plugin> -->
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-assembly-plugin</artifactId>
    				<version>2.4.1</version>
    				<configuration>
    					<!-- get all project dependencies -->
    					<descriptorRefs>
    						<descriptorRef>jar-with-dependencies</descriptorRef>
    					</descriptorRefs>
    					<!-- MainClass in mainfest make a executable jar -->
    					<archive>
    						<manifest>
    							<mainClass>com.mkyong.core.utils.App</mainClass>
    						</manifest>
    					</archive>
    
    				</configuration>
    				<executions>
    					<execution>
    						<id>make-assembly</id>
    						<!-- bind to the packaging phase -->
    						<phase>package</phase>
    						<goals>
    							<goal>single</goal>
    						</goals>
    					</execution>
    				</executions>
    			</plugin>
    
    		</plugins>
    	</build> 
  • 完成pom.xml
  • <project 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/maven-4.0.0.xsd">
    
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>commons-libs</groupId>
    	<artifactId>commons-libs</artifactId>
    	<version>0.0.1</version>
    
    	<dependencies>
    		<dependency>
    			<groupId>com.aliyun.oss</groupId>
    			<artifactId>aliyun-sdk-oss</artifactId>
    			<version>2.4.0</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.commons.beanutils</groupId>
    			<artifactId>commons-beanutils</artifactId>
    			<version>1.8.0</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.commons.codec</groupId>
    			<artifactId>commons-codec</artifactId>
    			<version>1.9</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.commons.collections</groupId>
    			<artifactId>commons-collections</artifactId>
    			<version>3.2.1</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.commons.lang</groupId>
    			<artifactId>commons-lang</artifactId>
    			<version>2.5</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.commons.logging</groupId>
    			<artifactId>commons-logging</artifactId>
    			<version>1.2</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.ezmorph</groupId>
    			<artifactId>ezmorph</artifactId>
    			<version>1.0.6</version>
    		</dependency>
    
    
    		<dependency>
    			<groupId>com.httpclient</groupId>
    			<artifactId>httpclient</artifactId>
    			<version>4.4.1</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.httpcore</groupId>
    			<artifactId>httpcore</artifactId>
    			<version>4.4.1</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.jdom</groupId>
    			<artifactId>jdom</artifactId>
    			<version>1.1</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.json.lib</groupId>
    			<artifactId>json-lib</artifactId>
    			<version>2.4</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.wechat.util</groupId>
    			<artifactId>wechat-util</artifactId>
    			<version>1.0.2</version>
    		</dependency>
    
    	</dependencies>
    
    	<!-- <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> 
    		<artifactId>maven-shade-plugin</artifactId> <version>2.3</version> <executions> 
    		<execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> 
    		<transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> 
    		<mainClass>core.Test</mainClass> </transformer> </transformers> </configuration> 
    		</execution> </executions> </plugin> </plugins> </build> -->
    
    	<build>
    		<plugins>
    			<!-- <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.sysware.HelloWorld</mainClass> 
    				</manifest> </archive> </configuration> </plugin> -->
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-assembly-plugin</artifactId>
    				<version>2.4.1</version>
    				<configuration>
    					<!-- get all project dependencies -->
    					<descriptorRefs>
    						<descriptorRef>jar-with-dependencies</descriptorRef>
    					</descriptorRefs>
    					<!-- MainClass in mainfest make a executable jar -->
    					<archive>
    						<manifest>
    							<mainClass>com.mkyong.core.utils.App</mainClass>
    						</manifest>
    					</archive>
    
    				</configuration>
    				<executions>
    					<execution>
    						<id>make-assembly</id>
    						<!-- bind to the packaging phase -->
    						<phase>package</phase>
    						<goals>
    							<goal>single</goal>
    						</goals>
    					</execution>
    				</executions>
    			</plugin>
    
    		</plugins>
    	</build>
    
    </project>
     至此:到项目pom.xml文件右击 RunAs Maven build... 
  • 输入 clean package 命令,如下图,点击run 去目标tager目录查找目标jar,解压后会有相关依赖jar包的class文件,即可

     参考地址:http://www.cnblogs.com/xinsheng/p/4109573.html
  • 大小: 120.4 KB
0
0
分享到:
评论

相关推荐

    如何用IntelliJ IDEA新建web项目,用maven打包成.jar

    idea新建maven web项目.zip Jetbrains IntelliJ IDEA创建基于maven打包工具的WEB网站项目 本项目使用的是SSM框架spring mvc,spring, mybatis.用maven打包成jar

    springboot+maven打包demo【将依赖与配置文件打包到jar包外部】

    这是一个springboot+maven写的demo,主要演示springboot项目通过maven插件,将依赖与配置文件打包到jar包外部,实现灵活的项目管理.仅供参考学习

    springBoot非maven项目所需jar包

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

    maven打包为zip,tar.gz

    非常实用的工具,将maven类java工程打包为zip格式、tar.gz格式,并且实现jar包 配置文件分离,方便部署。

    在eclipse中不使用maven创建springboot工程所需jar包

    在eclipse中不使用maven创建springboot工程所需jar包,一共32个。亲测各包兼容,完美运行。

    paoding的maven工程及jar包

    pom中定义了依赖包org.apache.lucene的lucene-analyzers2.2.0,commons-logging的commons-logging1.0.4,target中的jar包即是编译后的文件。可以自己动手打包paoding.jar

    springboot工程jar包加密

    用于java工程的jar包加密。

    Maven build插件之Maven-assembly-plugin自定义打包

    Maven-assembly-plugin是maven中针对打包任务而提供的标准插件,可以实现自定义打包。主要提供如下功能: ● 提供一个把工程依赖元素、模块、网站文档等其他文件存放到单个归档文件里。 ● 打包成指定格式分发包,...

    springboot的maven聚合工程

    1.maven聚合工程,父工程统一管理依赖版本 2.分模块设计,模块之间通过jar包的方式互相引用 3.基于springboot框架 4.整合了Lombok、Spring MVC、Druid、Mybatis、MySQL

    如何在IDEA Maven项目中导入本地jar包的步骤

    今天小编就为大家分享一篇关于IDEA Maven项目中导入本地jar包的步骤,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    maven课程讲义.doc

    POM对象模型,每个maven工程中都有一个pom.xml文件,定义工程所依赖的jar包、本工程的坐标、打包运行方式。。 2、依赖管理系统(基础核心 ) maven通过坐标对项目工程所依赖的jar包统一规范管理。 3、maven定义...

    Maven构建Dubbo服务可执行jar包

    通过maven搭建dubbo环境,包括生产者和消费者以及公共模块,配置模块等,Dubbo视频教程--基础篇--第07节--使用Maven构建Dubbo服务的可执行jar包.pdf,maven和dubbo..zip源码工程

    本地maven工程自动发布

    自动打包本地maven工程,上传到服务器并自动启动

    尚硅谷学习笔记+代码,Maven 教程

    安装:把一个 Maven 工程经过打包操作生成的 jar 包或 war 包存入 Maven 仓库 部署 部署 jar 包:把一个 jar 包部署到 Nexus 私服服务器上 部署 war 包:借助相关 Maven 插件(例如 cargo),将 war 包部署到 Tomcat...

    Maven构建的分布式demo

    最近在研究分布式,先研究一下maven创建的pom工程、war工程、jar工程,用maven构建一个web的小demo,记录自己的点点滴滴,这只是学习的开始,和大家一起分享,学艺不精,不断学习

    fastDFS 介绍文档,源代码,使用样例,JAR包

    分布式fastDFS 介绍文档,源代码,使用样例,JAR包

    java打包后jar包反编译工具

    java打包后jar包反编译工具,反编译源码,可以破解源码,查看相关源码已亲测,非常好用再也不用担心编译后版本代码找不到了!!在Java开发过程中,反复编译是一个常见的问题,特别是在大型项目或者需要频繁修改代码...

    assembly项目打包插件,包含windows与linux环境下的启动脚本

    maven项目、springboot项目使用assembly插件打包,实现项目可配置化、生成系统日志、jar文件与项目分离,并生成windows与linux环境下启动、停止等操作的脚本文件。

    maven安装包

    mvn clean 清理工程,实质是删除target文件夹,maven编译完的jar包和class文件会放到各个工程的target文件下 mvn package 打包 mvn cobertura:cobertura 测试并打印测试代码覆盖率 mvn clean package -DskipTests ...

    maven window下安装包

    第13章:使用Maven生成项目原型/13.2 编写自己的项目原型/13.2.6 按照项目原型生成Maven工程 第14章:灵活的构建/14.1 Maven的属性/14.1.1 概念 第14章:灵活的构建/14.1 Maven的属性/14.1.2 属性分类/14.1.2.1 内置...

Global site tag (gtag.js) - Google Analytics