本次本篇使用的工具是Maven中的
maven-assembly-plugin
插件。
======================================================================================================
1.首先,需要新建一个maven项目,将单个或多个java文件拷贝到本项目中
例如,下面这个QR_Code.java文件
2.完善pom.xml文件,除了项目中依赖的jar的引用,还需要maven-assembly-plugin插件
=============================================================================================================================================
【解释一下,直接使用的可以跳过】:
》》(1)打包出来的jar包,是以
<groupId>com.sxd.util</groupId> <artifactId>QR_Code</artifactId> <version>1.1-SNAPSHOT</version>
{artifactId}-{version}.jar命名的
》》(2)maven-assembly-plugin插件中
默认情况下,maven-assembly-plugin内置了几个可以用的assembly descriptor:
- bin : 类似于默认打包,会将bin目录下的文件打到包中
- jar-with-dependencies : 会将所有依赖都解压打包到生成物中【本次需求正好是将所有依赖也打包】
- src :只将源码目录下的文件打包
- project : 将整个project资源打包
》》(3)针对于maven-assembly-plugin插件中的
===================================================================================================================================================
3.使用IDEA的同志们,双击插件 即可执行打包指令
执行完整的语句如下:
4.执行完成之后,项目结构会发生变化
5.把jar包拷出来,放在一个位置,就可以上传到nexus上,放在maven私服里,给大家引用了【nexus私服搭建以及相关操作,查看http://www.cnblogs.com/sxdcgaq8080/p/7583767.html】
当然,想更改jar的名字,也可以直接修改完成之后再进行如下操作
打开DOM窗口,执行如下命令
mvn deploy:deploy-file -DgroupId=sxd.jar -DartifactId=QR_Code -Dversion=1.1 -Dpackaging=jar -Dfile=G:\test\QR_Code-1.1-SNAPSHOT.jar -Durl=http://localhost:8081/repository/myself_hosted/ -DrepositoryId=myself_hosted
在http://localhost:8081/ 访问nexus
查询就可查看到
这样在项目中引用如下:
<!--QR_Code二维码使用工具包--> <dependency> <groupId>sxd.jar</groupId> <artifactId>QR_Code</artifactId> <version>1.1</version> </dependency>
6.最后,就可以把这个单独创建的项目 删除就好了
再来补充一篇是idea直接用来打包的
IDEA环境配置——把类封装为jar工具包以供他人调用
记录一下
目录
打包
File -> Project Structure
然后点左边的Artifacts ,点旁边的绿色加号
新建一个空的jar
随便起个名字,点下图我圈出来的那个绿色的加号
然后选module output,点开把你要打包的module加进去
然后点ok
开始打包:Build->BuildArtifacts->你刚刚加的jar包名字-->build
打包成功的文件在你的项目->classes->artifacts->你刚才起的jar包名 下
调用
还是找到File->Project Structure
在Modules模块:选中你要导入包的modules,然后在右边的Dependencies选项里面点右边的加号
选第一个jars,找到你刚才打的jar包,然后引入jar包
点ok
就ok了。
文章引用地址:https://www.cnblogs.com/cxy2020/p/13541678.html