Maven:项目设置

时间:2018-07-26 05:53:48

标签: java maven mvn-repo

我正在开始一个新项目以及从Maven开始。 我不确定我在Maven的项目结构是否不错,所以我想问一下。我用一个小例子来描述这个项目。

项目名称应为MyPrj。

它包括3个部分(服务器,客户端,库)。

服务器和客户端是程序(主要),而lib确实包含了都将使用(例如,用于日志记录)的帮助程序类。

我设计了3个maven项目-每个部分1个。

MyPrj/
  client/
     pom.xml, src, target, ...
  server/
     pom.xml, src, target, ...
  lib/
     pom.xml, src, target

部分Java包名称为

MyPrj.client
MyPrj.server
MyPrj.lib

行家地址是

groupId: MyPrj, artifactId: client, version: 0.1
groupId: MyPrj, artifactId: server, version: 0.1
groupId: MyPrj, artifactId: lib, version: 0.1

在其中,客户端和服务器的POM是lib的依赖项。

<dependency>
  <groupId>MyPrj</groupId>
  <artifactId>lib</artifactId>
  <version>0.1</version>
</dependency>

对于Maven项目,设置是否正常?

1 个答案:

答案 0 :(得分:2)

您的Maven项目看起来不错,但您错过了一件事情:父级

您的MyPrj项目应该有自己的pom.xml

MyPrj/
  pom.xml
  client/
     pom.xml, src, target, ...
  server/
     pom.xml, src, target, ...
  lib/
     pom.xml, src, target

MyPrj的pom.xml中,可以声明Maven项目的子模块如下:

<project>
  ...

  <modules>
    <module>client</module>
    <module>server</module>
    <module>lib</module>
  </modules>
</project>

多模块Maven项目的父级具有许多有趣的功能(依赖关系管理,存储库,SCM管理等)。

我建议您看一下以下文档: