java重新编译代码,java-更改第三方jar的版本是否需要重新编译我的代码?

当升级第三方jar文件时,如果只使用了接口且接口未改变,通常不需要重新编译Java应用程序。只要接口方法签名保持不变,即使实现类发生了变化,也不必重新编译。但如果第三方jar的API或接口有所更改,则需要重新编译以确保兼容性。
摘要由CSDN通过智能技术生成

这个问题已经在这里有了答案:            >            Do I have to recompile my application when I upgrade a third party jar?                                    5个

这似乎是一个愚蠢的问题,但是在我去团队会议上大开眼界之前,我想绝对确定自己正确理解了一切.

我有一个引用第三方jar文件的Java应用程序.我的代码仅使用其接口.如果第三方为我提供了他们jar文件的不同版本,而我只是用新的jar替换了旧的jar,我是否需要重新编译我的应用程序?

如果接口方法签名包含其类之一(例如

public void thirdPartyMethod(ThirdPartyEvent e);

据我了解,除非接口已更改,否则不必重新编译.即使ThirdPartyEvent类已更改(添加了新方法),除非我想访问这些新方法,否则仍然不必重新编译.

我的理解正确吗?

提前致谢.

编辑:

这个问题可以关闭,它是重复的.当我搜索时没有看到它-不知道我怎么会错过它…

顺便说一句,我的问题并没有明确说明,但API并未更改-接口是相同的.

最终编辑:

我确实要指出,虽然有时候部署新版本的第三方jar比部署整个重新编译的应用程序容易得多…

实际上,我会定期重新编译,这样做绝对没有害处.但是,在我工作的地方,对Java接口的工作原理完全缺乏了解.每个人都担心新的第三方实现已更改,我们的应用程序不再起作用.我告诉他们,只有在第三方更改了API或给了我们一个破罐的情况下,这种情况才会发生.

总之,长话短说,我认为如果可以证明您可以替换jar而不进行重新编译,那将(至少部分地)说明接口的工作方式.我已经通过电子邮件发送了指向该帖子的链接,重复链接和Mik378的包含链接,希望它最终能够沉入…<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值