作为一个例子,假设我有一个名为Abc的程序,其中包含一个名为Xyz的类。代码位于包含单个Eclipse项目的Git存储库中。我采用了Maven源目录布局。在Java 9之前,项目结构可能看起来像这样(简化):
Abc.git
|
+---.git
|
+---Abc
|
+---.settings
|
+---.project
|
+---.classpath
|
+---src
|
+---main
| |
| +---java (source folder)
| |
| +---com
| |
| +---abc
| |
| +---Xyz.java
+---test
|
+---java (source folder)
|
+---com
|
+---abc
|
+---XyzTest.java
JUnit测试通常与生产代码位于相同的包中,但位于不同的源文件夹中。但现在生产代码在一个模块中。正在测试的包可以拆分为单独的模块。此外,某些被测试的类可能位于其模块未导出的包中。
在代码组织方面解决这些问题的正确做法是什么?
修改
这个问题与Maven无关。我的意思是:这是推荐的方法吗?
Abc.git
|
+---.git
|
+---Abc
|
+---.settings
|
+---.project
|
+---.classpath
|
+---src
|
+---main
| |
| +---java
| |
| +---com.abc (source folder?)
| |
| +---module-info.java (exports com.abc)
| |
| +---com
| |
| +---abc
| |
| +---Xyz.java
+---test
|
+---java
|
What goes here?