一、针对单个文件打jar包
1.
2.
3.jar 会输出在 D:\ideasvn\out\artifacts
4.
如下:
5.
6.
7.
8.
9.jar 会输出在 D:\ideasvn\out\artifacts
注意:如果是springboot项目打包成jar 给别的项目引用
<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>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
二、使用
1. 非maven 项目直接eclipse 导入
使用:代码
输出
2.maven 项目 springboot
1.先准备好本地jar包,然后在项目的resources目录创建 lib 目录,把本地jar包放进 lib 下
2.在Pom.xml中引用本地jar包
<!--本地jar包-->
<dependency>
<groupId>com.kry.tableutils</groupId>
<artifactId>tableutils</artifactId>
<version>0.0.3</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/krytest.jar</systemPath>
</dependency>
<dependency> <groupId>org.apache</groupId> <artifactId>test</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/1.3.3_encrypt.jar</systemPath> </dependency>
3.此时就可以在本地开发引用 该包
执行方法能成功。
4. 此时将项目打成jar包,部署运行会发现找不到 krytest.jar 里面的类
5. 这时候在pom。xml中添加
<includeSystemScope>
true
</includeSystemScope> 主要作用
<plugins>
<!-- 此时,可以在项目中进行开发了,但是打包部署项目时, krytest.jar 不会打到主项目包中,为什么呢?
因为还需要在 pom.xml 里面做一些配置,配置如下-->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>${project.basedir}/src/main/resources/lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
<!--springboot默认打包-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
6.打jar包,部署,执行方法成功