我正在开始一个新项目以及从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项目,设置是否正常?
答案 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管理等)。
我建议您看一下以下文档: