我创建了一个maven项目,按照约定,我们应该将软件包放在/ src / main / java中。
当我在此处创建新软件包时,如果将其命名为“ mypackage”,则软件包名称将不考虑我在pom文件中指定的名称空间,即“ org.company.mypackage”
我最终遇到了一个看起来像这样的课:
package mypackage; // instead of org.company.mypackage
public class MyClass {
public void myMethod() {
...
}
}
答案 0 :(得分:3)
pom中的Maven“命名空间”(groupId
)不会自动添加到Java包之前。您必须手动执行此操作(除非您的IDE具有某些特殊功能可以为您执行此操作)
使用groupId
和artifactId
作为项目的基本包是一种常见的约定,但这不是强制性的。如果您的pom包含
<groupId>org.company</groupId>
<artifactId>myproject</artifactId>
然后所有Java软件包都应以org.company.myproject
开头,例如org.company.myproject.mypackage
。