2016-02-19 68 views
0

想要获得关于在版本控制下组织java回购的最佳实践的一些建议。我正计划让每个项目都有自己的回购以及共享类回购(包含可能被多个项目使用或扩展的类)。显而易见的问题是,如果共享类库中的任何内容得到更新,任何错误都会传播到其他项目。任何建议?谢谢!具有共享类的svn组织

回答

1

如果类由不同的项目使用,它们通常捆绑到一个jar中,并声明为其他项目的依赖项(例如在eclipse中的.classpath中,或者通过使用Ant/Maven/Gradle)。然后其他项目可以使用这些类,也可以继承它们。

在源代码库中,您将为每个生产的jar生成单独的项目,并且没有“共享区域”。

+0

我正在使用Netbeans,但我相信我正在做同样的事情 - 我将共享类jar添加为项目库中的依赖项。这是一个典型的组织结构吗?对共享类项目的任何更新都可能在任何将其作为依赖关系的项目中引入不需要的错误 - 有关如何缓解此问题的任何建议? –

+0

通常,您将版本号分配给jar,以便对1.2.0的引用稳定,因为只有更新的版本会更改。对于较大的项目,将jar放入存储库(如Nexus或Artifactory)并使用Maven或Gradle管理依赖项非常有用。然后有一个开发版本(-SNAPSHOT)和稳定版本更容易。 –