1.java把项目打包成jar
步骤一、IDEA -> File -> Project Structure -> Artifacts -> + -> JAR -> From moduls with dependencies... -> 选择 Module 和 Main Class -> 选择 JAR files from libraries
JAR files from libraries 解释
extract to the target JAR :假如项目引入了第三方Jar,会将第三方Jar解压并合并到当前项目进行打包,会生成一个较大的jar包。
copy to the output directory and link via manifest:假如项目引入了第三方Jar,并不会将第三方Jar打包到当前项目的Jar,而是选择分开。
然后Apply -> ok 进行保存。
步骤二、IDEA -> Build -> Build Artifacts -> 选择刚刚创建的Artifact -> Build / Rebuild,在项目中会产生一个目录out -> artifacts -> [artifact name]_jar -> [artifact name].jar
2.将本地jar引入到java工程中的三种方式
方式一、IDEA -> File -> Project Structure -> Modules -> Dependencies -> + -> JARs or Directories
方式二、如要添加的jar文件较多,可创建目录,例:resources->libs,然后用方式一,选择此目录。
方式三、如果项目是maven工程,可以通过修改pom文件,将本地jar引用工程中,如下所示:
<dependency>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
<version>1.2.1</version>
<scope>system</scope>
<systemPath>D:/jmxtools-1.2.1.jar</systemPath>
</dependency>
解释
<scope>system</scope>告诉Maven不要去中央仓库或远程仓库中寻找依赖,而是使用项目中指定路径的jar文件。
<systemPath>D:/jmxtools-1.2.1.jar</systemPath>指定系统中jar文件的路径。
3.java maven项目打jar包发布(精简版)
先clean再package
target文件夹下面有生成一个jar包
参考:
Maven项目打包为jar的几种方式_maven打包本地jar包-CSDN博客
解释:
1. maven-compiler-plugin
(Java 编译插件)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source> <!-- 需修改:Java 源码版本 -->
<target>1.7</target> <!-- 需修改:编译目标版本 -->
<encoding>UTF-8</encoding> <!-- 一般无需修改 -->
</configuration>
</plugin>
2. maven-jar-plugin
(生成 JAR 包插件)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath> <!-- 自动生成 Class-Path -->
<classpathPrefix>lib/</classpathPrefix> <!-- 依赖库路径前缀 -->
<mainClass>com.yourpakagename.mainClassName</mainClass> <!-- 需修改:主类 -->
</manifest>
</archive>
</configuration>
</plugin>
需要修改的地方:
-
<mainClass>
:替换为你的项目启动类全限定名。
例如:com.example.MainApp
。
3. maven-dependency-plugin
(依赖处理插件)
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy</id>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
要修改的地方:
-
<outputDirectory>
(可选):如果你希望依赖库输出到其他目录,调整路径。
默认${project.build.directory}/lib
会生成到target/lib
,与classpathPrefix
一致,通常无需修改。
完整配置注意事项:
-
依赖库与 Class-Path 的匹配
-
maven-dependency-plugin
会将依赖复制到target/lib
目录。 -
maven-jar-plugin
生成的MANIFEST.MF
中的Class-Path
会以lib/
开头,确保路径一致。
-