首页 > 解决方案 > 使用单独提交的 Java 包提交可执行文件

问题描述

我的应用程序有 4 个 Java 包。

com.me.utilities 
com.me.widget 
com.me.analysis 
com.me.interface

所有软件包都依赖于实用程序。小部件包依赖于接口包。

这些实用程序可能对其他应用程序很有价值,因此它应该是一个自己的包。分析不依赖于小部件和界面,因此分析应该是它自己的一个包。接口可能会改变,因为它接口的组织可能会倒闭,所以接口应该是它自己的一个包。

这只是一个产生一个可执行文件的应用程序。

在这个组织的基础上,我对每个包进行提交,而不是对可执行文件进行提交。我想开始提交可执行文件。一种方法是将可执行文件提交到一个新的 git 存档中,而不与源代码有任何联系,但是拥有一个可执行文件并且没有正式的方式将其与源代码联系起来听起来很鲁莽。

另一种听起来有点低效的方法是简单地启动一个新的 git 存档,“添加”所有 4 个 Java 包的源代码,每个包都有许多 Java 文件,并“添加”可执行文件。这似乎有点奇怪,因为它没有尊重 4 个现有的 git 档案,这些档案已经知道它们各自的源代码集合。

将这 4 个包与它们的通用可执行文件绑定在一起的正确方法是什么?

我使用 SmartGit 进行例行提交,并使用命令行 git 进行还原。如果这个查询的解决方案有必要,我愿意停止使用 SmartGit。

标签: javagitsmartgitjava-package

解决方案


看起来您正在寻找的是一个工件存储库,例如 Nexus、Artifactory、JCenter 等。

每次发布时,您通常都会在此处发布构建生成的工件。

这也是允许构建工具和 IDE 为项目使用的库获取工件的原因。因此,如果您最终将实用程序包变成一个单独的库,供多个不同的项目使用,您需要将它发布到这样的工件存储库中。Gradle 和 Maven 都可以获得它们的工件,但也允许将工件发布到此类工件存储库。


推荐阅读