IDEA中MAVEN项目打JAR包的简单方法
2023-09-14 08:58:22 时间
Idea中为一般的非Web项目打Jar包是有自己的方法的,网上一搜就能查到很多。
但是如果是为Maven项目打Jar包,其实是很简单的,因为maven本身就有打Jar包的命令。
最简单的方法
首先是在maven项目的pom.xml中添加打包的插件,这里有很多种方式的。最最简单的就是只使用maven-compiler-plugin、maven-jar-plugin插件,并且指定程序入口<mainClass>。相关代码如下:
pom.xml文件为:
<?xml version="1.0" encoding="UTF-8"?> <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>cn.mymaven</groupId> <artifactId>test</artifactId> <version>1.0-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <useUniqueVersions>false</useUniqueVersions> <classpathPrefix>lib/</classpathPrefix> <mainClass>cn.mymaven.test.TestMain</mainClass> </manifest> </archive> </configuration> </plugin> </plugins> </build> </project>
入口类TestMain.java为:
package cn.mymaven.test; public class TestMain { public static void main(String[] args){ System.out.println("Hello World"); } }
然后开始打包,在Idea中把Maven项目的命令都做成了可视化的操作界面,只需要如下操作就好:
在Maven Project目录下,点击package
![](https://images2017.cnblogs.com/blog/380239/201709/380239-20170911172809688-666283818.png)
此时在target目录下,就会生成这个项目的Jar包
![](https://images2017.cnblogs.com/blog/380239/201709/380239-20170911172831360-1312510045.png)
使用java -jar 命令运行这个Jar包,会输出“Hello World”
需要注意的地方
需要说明的是,如果一个maven项目中有多个子目录,每一个子目录中的pom.xml对应一个项目,它的作用范围只有这一个子目录下的。比如扫描配置文件,如果要让一个子目录下的pom.xml扫描另一个子目录下的配置文件,那是做不到的。在打jar包的时候,只运行当前的pom.xml文件。
当然也有其他的打包方法,比如使用spring-boot-maven-plugin插件在打Jar包时,会引入依赖包。
它的pom.xml文件配置为:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <useUniqueVersions>false</useUniqueVersions> <classpathPrefix>lib/</classpathPrefix> <mainClass>cn.mymaven.test.TestMain</mainClass> </manifest> <manifestEntries> <version>${project.version}</version> </manifestEntries> </archive> </configuration> </plugin> </plugins> </build>
其他链接
如何构建多个子目录,参考:http://www.cnblogs.com/acm-bingzi/p/6625202.html
如果打成Jar包后报Unable to locate Spring NamespaceHandler for XML schema namespace错,参考:http://www.cnblogs.com/acm-bingzi/p/6625123.html
spring-boot-maven-plugin插件的作用,参考:http://www.cnblogs.com/acm-bingzi/p/mavenSpringBootPlugin.html
相关文章
- 使用阿里云的maven私服的setting.xml, 提高maven项目jar下载速度
- Maven 项目依赖的Jar包瘦身
- Maven项目打包,Jar包不更新的问题
- 【经验】Maven Tomcat8+ 实现自动化部署
- gradle上传本地文件到远程maven库(nexus服务器)
- 执行 Maven 编译的 jar,找不到相关的 依赖的类--使用 maven-assembly-plugin 解决
- IntellJ idea maven打包——项目带有第三方jar包
- jenkins pipeline、用户权限管理、插件下载地址更改、凭证管理、自由风格项目构建、maven项目构建、常用的构建触发器、邮件发送、SonarQube代码审查
- Idea for Mac 过期 IntelliJ IDEA 2017 完美注册方法(附idea for Mac破解方法)
- 如何处理Maven build时的error message Unable to locate the Javac Compiler in tools.jar
- 将本地jar包添加到maven中
- Maven自定义上传第三方包到3rd party(第三方无依赖jar和本地扩展类加入maven统一管理)
- 极光推送maven与代码,无需修改,粘贴即用
- maven 引入本地jar
- 在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
- Maven外部依赖
- apache-maven-3.8.4下载配置【解决JDK15与Maven-3.3.9低版本不匹配问题---mvn -v无法找到JAVA_HOME环境变量】
- Maven 构建 Java 项目
- 【异常】IDEA中Maven插件提示异常Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin