nbe*_*ijn 5 java package maven
我正在尝试和学习更好地理解 Maven 的用法。我有一个关于在多个模块中使用包名称的正确方法的问题。
我将用一个例子来解释我的问题。
我们有以下项目。
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)
Run Code Online (Sandbox Code Playgroud)
有以下课程。
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)
Run Code Online (Sandbox Code Playgroud)
现在当我们有了这些东西时,我们将创建以下 Demo 类。
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);
}
}
Run Code Online (Sandbox Code Playgroud)
我们还需要导入包。你应该在你的项目中使用哪个选项,或者如果选项不是听,那么正确的方法是什么?
选项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;
Run Code Online (Sandbox Code Playgroud)
选项 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;
Run Code Online (Sandbox Code Playgroud)
选项 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;
Run Code Online (Sandbox Code Playgroud)
欢迎所有反馈、建议等。先感谢您!
| 归档时间: |
|
| 查看次数: |
2920 次 |
| 最近记录: |