で指定されたartifactId
とgroupId
の値はpom.xml
、実際のクラスとは関係ありません。
プロジェクト全体 (jar) を分類するために使用され、プロジェクト内のクラスやパッケージには影響しません。
Maven のデフォルトのフォルダー構造:
src
|
|--main
| |
| |--java
| | |
| | |--com
| | | |
| | | |--mypackage
| | | |
| | | |--MyClassA.java
| | | |
| | | |--submypackage
| | | |
| | | |--SomeOtherClass.java
| | |--net
| | |
| | |--netpackage
| | |
| | |--MyNetClassA.java
| |
| |--resources
|
|--test
|
|--java
| |
| |--com
| |
| |--anotherpackage
| |
| |--AnotherClassTest.java
|
|--resources
からMyNetClassA
を使用したい場合MyClassA
は、次のようなものがあります。
MyNetClassA.java
ファイルの内容:
package net.netpackage;
import com.mypackage.MyClassA;
public class MyNetClassA {
MyClassA myField;
}
サブパッケージにも同じことがMyClassA
当てはまりますSomeOtherClass
。
MyClassA.java
ファイルの内容:
package com.mypackage;
import com.mypackage.subpackage.SomeOtherClass;
public class MyClassA {
SomeOtherClass myOtherField;
}
パッケージが別のパッケージの下で宣言されているかどうかは問題ではありません。「サブパッケージ」と呼んでいますが、Java の場合は別のパッケージです。
また、 のクラスsrc/test/java
( などAnotherClassTest
) は、 のどのクラスにもアクセスできませんsrc/main/java
。
一方、 のどのクラスにsrc/main/java
もからアクセスできますsrc/test/java
。