首页 / JAVA / 用Java重新打包库JAR
用Java重新打包库JAR
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用Java重新打包库JAR,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1876字,纯文字阅读大概需要3分钟。
内容图文
我一直在将第三方库JAR提取到我的开源Java库中,以便依赖项在运行时工作.
我记得当我在Eclipse中尝试这样做的时候(不同的项目)它产生了警告,在执行此操作之前检查许可.
关于什么时候可以将库内容重新打包到JAR中,应该如何完成以及哪些广泛使用的许可证禁止它的一般规则究竟是什么?
具体来说,我重新打包的库使用BSD和LGPL.
在此先感谢您的帮助.
编辑
我实际上最终分离出依赖项以防止代码冲突,正如几位评论者所建议的那样.再次感谢您提供的建议和信息.
解决方法:
我个人所做的是确保我使用的库都没有明确禁止重新分发.如果他们这样做,那你就不走运了.既不是BSD也不是LGPL,所以你应该没问题.我想不出一个理智的开源许可证.
一旦您满意,您不会通过重新包装和分发许可证来违反许可条款,您需要确保在其他方面尊重它们.我发现以下步骤足以满足99.99%的开源许可证:
>在JAR文件的根目录下创建一个license.txt文件(有些人把它放在META-INF中,但我知道没有规则或约定,并认为这只是一个偏好问题).
>列出您导入的所有外部库以及在license.txt中分发它们的许可证.
>写下license.txt中适用的所有许可证的完整文本.
>理想情况下,链接到每个图书馆的网站,下载页面和许可页面(如果有).
这应该确保您不会违反任何主流许可证,除了GPL.我不是律师,也不是GPL的专家,我给你的关于如何尊重它的任何建议可能最终都是完全错误的,所以我宁愿不让你误入歧途.
还有一些你可以做的事情,但更多的是礼貌的问题:
>如果您正在编写面向应用程序的用户(webservice,UI应用程序……),请链接到您在“关于”部分中使用的库.
>让图书馆的维护者知道你正在使用和打包它 – 一些作者喜欢使用他们的工具维护一份流行的软件列表.
虽然这可能听起来像很多工作,但它的工作远远少于编写和维护实际库.
编辑:我刚刚意识到你正在开发一个库,而不是一个应用程序.在这种情况下,我的答案实际上并不适用:将您的依赖项打包到库的JAR中是非常糟糕的形式.如果有的话,它使第三方开发人员更难将您的库与现有的构建工具和依赖管理系统(maven,ant / ivy ……)集成.
如果您想保持简单,只需将所有依赖项的JAR包含在分发文件的/ lib文件夹中.
重申我的观点:我相信你会通过将依赖项打包到库的JAR文件而不是它中来疏远大多数开发人员.如果没有解决问题,我当然会提交错误报告并寻找备选方案.
内容总结
以上是互联网集市为您收集整理的用Java重新打包库JAR全部内容,希望文章能够帮你解决用Java重新打包库JAR所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。