关于发布一个jar包供别人调用的方式讨论

qwerty123501029 2016-06-30 03:21:30
问题描述:
我现在在做一个功能,就是连接mq,统一发送的程序。因为这个功能可能多个工程需要用到。
所以需要打成jar包供其他工程来引用。
我自己的这个工程里面用到了一些第三方的jar包,比如说activemq的包和json的包。
那么,问题来了,怎么打包合适?
1、直接打包,把自己工程里面引用到的包不打,然后提供给别人的时候,除了提供自己的包,还给他们列表
让他们根据自己的实际情况来添加。
2、把自己用到的第三方包也打到包里面(不知道这种方式可不可行)。给别人提供一个包。
3、网上说用maven管理。我想请教这个怎么管理,是多个工程都用maven来管理,我提供pom.xml文件吗?还是怎么管理?
4、其他合适的方法。



PS:其实我的功能就是想做成给别人提供一个jar包,他们就直接能用,不管他们是web project还是java project,
不知道这样的功能能不能实现?
...全文
1609 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shayebuhui0 2016-07-01
  • 打赏
  • 举报
回复
引用 5 楼 windowsoahil 的回复:
jar包不应该包括不是自己写的类,因为容易造成重复导入,版本不一致还容易冲突。 不管用maven还是ivy,发布之后提供给其他人的都是xml片段,有了这个片段之后在本地执行构建就能远程获取jar包。 比如Jackson2.0.6的jar包
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.0.6</version>
</dependency>
应该是这个样子的,分开最好。
qwerty123501029 2016-07-01
  • 打赏
  • 举报
回复
还是打包了,用的fat jar 它能把所引用的jar都打成class。 和源码的class放在一起。 暂时是可以用了,不知道会不会有别的问题,大家看看还有什么好方法吗 没有就结贴了。
解开者 2016-06-30
  • 打赏
  • 举报
回复
jar包不应该包括不是自己写的类,因为容易造成重复导入,版本不一致还容易冲突。 不管用maven还是ivy,发布之后提供给其他人的都是xml片段,有了这个片段之后在本地执行构建就能远程获取jar包。 比如Jackson2.0.6的jar包
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.0.6</version>
</dependency>
qwerty123501029 2016-06-30
  • 打赏
  • 举报
回复
就像spring发布jar包,也只是他自己的类,他不会把引用的都放进去,用什么在自己加是吧。 我是不是也要做成这样的
qwerty123501029 2016-06-30
  • 打赏
  • 举报
回复
引用 2 楼 qq_15915835 的回复:
用maven,需要自己搭建个仓库.
我的理解是maven会出一个jar包的列表,然后引什么包都在上面,那如果这个是发布给别人用的,是别人也要有maven吗? 比如说别人也有json的jar,只是版本和我的不一样,那是用他的,还是用我的? 感觉这样发布一个jar包就没意义了,还得和各个系统调试啊
qq_15915835 2016-06-30
  • 打赏
  • 举报
回复
用maven,需要自己搭建个仓库.
qwerty123501029 2016-06-30
  • 打赏
  • 举报
回复
希望大家进来讨论!!

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧