- 文章目的为:把一个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
相关推荐
idea新建maven web项目.zip Jetbrains IntelliJ IDEA创建基于maven打包工具的WEB网站项目 本项目使用的是SSM框架spring mvc,spring, mybatis.用maven打包成jar
在本文中,我们将深入探讨如何使用Spring Boot和Maven来构建一个项目,使得依赖和配置文件被打包到jar包外部,以实现更加灵活的项目管理。这个方法对于那些需要根据不同环境进行定制配置或者频繁更新配置的应用来说...
在IT行业中,开发Java应用程序时...混淆打包是一个关键的步骤,尤其对于开源项目或商业软件,它可以帮助保护源代码,降低被逆向工程的可能性。通过熟练掌握以上步骤,你可以在IDEA中高效地完成Java项目的混淆打包任务。
电脑暂时没有装maven,最近突发奇想,向在搭建一个spring boot非maven项目,折腾了两个小时,下载jar包冲突问题居多,最后结合网上博客,整理了一份spring boot所需的jar包,亲测没有问题
在不使用Maven的情况下,在Eclipse中创建Spring Boot工程,你需要手动管理依赖的jar包。以下是一些关于这些jar包及其在Spring Boot项目中的作用的关键知识点: 1. **jboss-logging-3.3.0.Final.jar**:这是一个日志...
### Maven工程升级版本步骤 在软件开发过程中,随着项目的不断迭代和需求的变化,对Maven项目进行版本升级是一项常见的操作。下面将详细介绍如何通过一系列步骤完成Maven项目的版本升级。 #### 步骤一:更新Parent...
在Maven工程中,可以将POM.xml和其他源代码文件放入SVN仓库,团队成员通过`svn checkout`获取最新代码。但在一键打包时,如果项目有多个环境(如开发、测试、生产),可能需要根据不同的环境配置文件。此时,可以...
pom中定义了依赖包org.apache.lucene的lucene-analyzers2.2.0,commons-logging的commons-logging1.0.4,target中的jar包即是编译后的文件。可以自己动手打包paoding.jar
在Java开发过程中,将项目打包成可执行的JAR...总的来说,将Java工程打包为可执行的JAR文件涉及选择合适的打包工具、配置主类、处理依赖以及运行方式的选择。根据不同的需求和工作环境,可以选择最适合的方法进行打包。
接下来,我们将通过Eclipse的“Export”功能来打包JAR文件: 1. **选择项目**:在Eclipse的Package Explorer视图中,右键点击你要打包的Java项目,然后选择“Export”。 2. **导出向导**:在弹出的对话框中,展开...
Maven插件扩展了Maven的功能,如`maven-jar-plugin`用于打包JAR,`maven-surefire-plugin`执行测试等。插件的配置通常在`pom.xml`的`<build><plugins>`部分进行。 6. **Maven仓库** Maven使用仓库来存储和获取...
当一个项目被打包成jar文件后,这通常意味着它可以作为一个独立的应用程序运行。然而,随着项目的部署和分发,保护源代码和敏感信息的安全变得至关重要。"springboot工程jar包加密"这个话题就是关于如何确保Spring ...
# Maven打可运行jar包说明书 ## 一.Pom配置 ### 1.1 Jdk环境配置 在使用Maven进行项目构建时,确保正确配置JDK环境是至关重要的一步。POM(Project Object Model)文件是Maven的核心配置文件,用于定义项目的构建...
标题“Maven新建打包等管理Eclipse标准动态Web工程”指的是如何使用Maven在Eclipse中创建并管理一个符合Java Web标准的动态Web项目,包括项目的初始化、添加依赖、编译、测试以及打包成可部署的WAR或EAR文件。...
在Java项目工程中,打包过程可能包括编译源代码、复制资源文件、生成类文件、创建或更新manifest文件,然后将这些元素整合到jar、tar或zip文件中。IDEs如Eclipse、IntelliJ IDEA和Maven、Gradle等构建工具都提供了...
本资源提供了一个手动创建的Maven工程示例,有助于初学者理解和掌握如何从零开始构建Maven项目。 首先,我们要理解Maven的核心概念——Project Object Model (POM)。POM是Maven项目的基本配置单元,包含了项目信息...
-- 设置打包类型为pom,表示这是一个聚合工程 --> <module>sub-module1 <module>sub-module2 ... ... ``` 这样,当我们运行 `mvn install` 命令在父项目上时,Maven 将会递归地构建所有的子模块。 ** ...
maven多模块工程打包部署的方法步骤可以概括为: 1. 配置dao层的资源目录和文件类型 2. 生成dao层的jar包 3. 在web工程中配置插件以解压dao层的jar包 4. 运行web工程以合并dao层的配置文件和源码 5. 可选:对war...
下面将详细介绍如何将这样的工程打包成一个可执行的jar文件。 首先,我们需要确保工程的依赖管理已经正确配置。在Spring项目中,通常使用Maven或Gradle作为构建工具。假设我们使用Maven,`pom.xml`文件是项目的核心...
本话题主要涉及的是如何实现一个本地Maven工程的自动化发布过程,包括自动打包、上传服务器以及自动启动。以下将详细讲解这一过程涉及的知识点。 1. Maven工程:Maven是一个Java项目管理工具,它通过配置文件(pom....