使用Maven时如何正确命名软件包?

时间:2018-07-25 15:05:34

标签: java maven

我创建了一个maven项目,按照约定,我们应该将软件包放在/ src / main / java中。

当我在此处创建新软件包时,如果将其命名为“ mypackage”,则软件包名称将不考虑我在pom文件中指定的名称空间,即“ org.company.mypackage”

我最终遇到了一个看起来像这样的课:

package mypackage; // instead of org.company.mypackage

public class MyClass {
    public void myMethod() {
        ...
    }
}

1 个答案:

答案 0 :(得分:3)

pom中的Maven“命名空间”(groupId)不会自动添加到Java包之前。您必须手动执行此操作(除非您的IDE具有某些特殊功能可以为您执行此操作)

使用groupIdartifactId作为项目的基本包是一种常见的约定,但这不是强制性的。如果您的pom包含

<groupId>org.company</groupId>
<artifactId>myproject</artifactId>

然后所有Java软件包都应以org.company.myproject开头,例如org.company.myproject.mypackage