java类库代码的分发
我需要将我拥有的一些旧java类库代码放入一个repo中,其他人可以从中检出并构建它。你知道,就像任何公开回购一样 但是,我不确定在java世界中最好的方法是什么。在旧式项目中,我们只提供构建脚本和依赖项列表。在运行构建脚本之前,您分别收集或安装了依赖项 但是现在对于许多语言,您都有从远程位置拉取的包管理器等,并且您的构建脚本需要包含依赖项获取 基本上,我不熟悉java库和程序的打包方式 我应该在回购协议中包括(依赖性)LIB吗?并在新版本发布时更新它们 java现在是否有一个包管理器来拉入最新版本的依赖项 在运行构建脚本之前,我是否让签出的人自己下载libs 如果解决方案不涉及安装大型软件包管理器,我更喜欢它。Gradle希望获得150MB以上的数据,据我所知,它在java部署中并不普遍java类库代码的分发,java,git,jar,dependencies,distribution,Java,Git,Jar,Dependencies,Distribution,我需要将我拥有的一些旧java类库代码放入一个repo中,其他人可以从中检出并构建它。你知道,就像任何公开回购一样 但是,我不确定在java世界中最好的方法是什么。在旧式项目中,我们只提供构建脚本和依赖项列表。在运行构建脚本之前,您分别收集或安装了依赖项 但是现在对于许多语言,您都有从远程位置拉取的包管理器等,并且您的构建脚本需要包含依赖项获取 基本上,我不熟悉java库和程序的打包方式 我应该在回购协议中包括(依赖性)LIB吗?并在新版本发布时更新它们 java现在是否有一个包管理器来拉入最新
谢谢。使用Maven。我相信这些天来,它很大程度上是“包管理器”(不是一个通常用来描述它的术语,但非常贴切)。它内置于Netbeans、IntelliJ IDEA中,我相信Eclipse 然而,它不仅仅是“获取最新版本”的依赖项,因为您的应用程序可能会崩溃。只有您指定的版本。因此,当有人试图在一个直接或间接获取相同libs的较新版本的应用程序中使用您的库(并且它们会进入一点“dll地狱”)时,您应该定期更新(并测试)您的代码,以减少不兼容,或者总体上减少您对第三方库的使用
您还应该考虑将您的库以编译的形式发布到Maven Central,以便使用您的库可以轻松地向POM.xml添加依赖项。毕竟,Maven解决的问题并不是让构建库变得容易(因为捆绑依赖项可以让您获得大部分的方法),而是让库的使用变得容易。
Maven和Nexus不是您想要的吗?(或者像格拉德尔、常春藤、阿奇瓦这样的替代品)是的,可能是其中之一。我只是想知道是否有一个是绝对受欢迎的。比如bundler或者ruby用户使用的任何东西。