打破一个单片的Java应用程序

时间:2017-04-05 20:46:20

标签: java git maven dependency-management

我正在将单个Java应用程序分解为更小的模块,因此我们可以更好地进行测试等。我看到了大部分好处,但也有一些问题:

  • 核心应用程序将拥有自己的生命周期。
  • 每个模块都有自己的生命周期。

我的审讯是围绕进程:我过去做过,但需要刷新我的进程。

您关注的是哪些好的做法或问题?

对于这个项目,我们使用Maven和git。

编辑: 我意识到这是一个非常广泛的问题,我简化了。

1 个答案:

答案 0 :(得分:2)

这个问题有点宽泛,但我还是试试看。

Sonatype有两本很好的在线书籍:

当然,the Maven site本身。

工件名称源自<artifactId><version>。请参阅Apache Maven JAR Plugin / UsageGuide to naming conventions on groupId, artifactId and version以及Understanding Maven Version Numbers。有关其他人如何完成的示例,请参阅Maven Central。我的POV的一个好方法是将<groupId>中的<artifactId>的最后一部分包含在Apache Commons Maven Release Plugin中。这样您就可以通过名称轻松识别工件。

“在你的poms中保持-SNAPSHOT?”

  • 作为<dependencies>的消费者,它取决于您是否决定仅依赖于固定发布的版本,其行为在您使用时不会发生变化。或者您是否需要在-SNAPSHOT使用的<dependencies>中实施的最新功能。
  • 对于项目的<version>本身,在准备发布之前,请保留-SNAPSHOT。发布时,您将在发布过程的短时间内更改为发行版。之后,您立即更改为更高的-SNAPSHOT版本。

请参阅enter image description here上的示例,了解在发布周期结束时要完成的任务。

您的顶级父POM中的<dependencyManagement>部分是有道理的。

Maven和Git是很好的选择。 ;)