我将用一个例子来解释我的问题。
我们有以下项目。
project
project-api Interfaces (implemented by the modules)
project-core Logic
project-persistence Data (models, repository etc)
project-utils Utilities (hashing, calculating etc)
project-gui Graphical User Interface
project-cli Command Line Interface
project-dist Distribution (generate the JAR's together)
使用以下类。
project-api
Repository Interface
project-core
AbstractRepository Abstract class (implements Repository)
Core Class
project-persistence
SampleRepository Class (extends AbstractRepository)
Sample Class (model)
project-utils
Calculator Class
project-gui
Demo Class (main)
现在,我们有了这些东西后,将创建以下演示类。
public class Demo() {
public static void main(String[] args) {
Core core = new Core();
core.start();
Repository sampleRepository = new SampleRepository();
Sample sample = sampleRepository.get();
Calculator.calc(sample);
}
}
我们还需要导入相关的包。在你的项目中,你应该使用哪个选项?如果没有提供选项,那么正确的方法是什么?
选项1
将所有模块包的名称与模块名称相同:com.company.project.api。
package com.company.project.gui
import com.company.project.api.persistence.repository.Repository;
import com.company.project.core.Core;
import com.company.project.persistence.repository.SampleRepository;
import com.company.project.persistence.models.Sample;
import com.company.project.utils.Calculator;
选项2
将API模块包命名为项目根名称相同:com.company.project
package com.company.project.gui
import com.company.project.persistence.repository.Repository;
import com.company.project.core.Core;
import com.company.project.persistence.repository.SampleRepository;
import com.company.project.persistence.models.Sample;
import com.company.project.utils.Calculator;
选项 3
将所有模块包命名为与项目根包名称相同:com.company.project
package com.company.project
import com.company.project.repository.Repository;
import com.company.project.Core;
import com.company.project.repository.SampleRepository;
import com.company.project.models.Sample;
import com.company.project.Calculator;
欢迎提出反馈、建议等。非常感谢!