我是Maven的新手,我们正在将基于ant的项目转换为Maven项目。一切都很好。另外,我们需要明智地编译源代码包。
更清楚一点,我们在src / main / java文件夹中有三个包,即dao,svc和controller。我想首先编译dao,然后通过给dao引用来编译svc,同样通过仅引用svc而不是dao来编译控制器。
最后,目标是确保控制器不使用任何dao类,它们只能使用svc类。如果这种情况失败,Maven构建必须失败。
请建议。
答案 0 :(得分:3)
听起来你需要multi-module maven project。创建一个父项目,其任务只是聚合您的三个模块并提供一个构建的东西。为每个包创建一个模块,然后在各个POM文件中定义这些模块之间的依赖关系。
Maven构建系统非常聪明,可以根据您在它们之间声明的依赖关系来了解构建模块的顺序。如果您没有定义依赖项(例如在控制器和dao之间),则控制器模块无法访问dao模块中的类。
最终的源布局将是:
your-project
your-project/pom.xml <--- parent POM
your-project/dao
your-project/dao/pom.xml
your-project/dao/src/main/...
your-project/svc
your-project/svc/pom.xml
your-project/svc/src/main/...
your-project/controller
your-project/controller/pom.xml
your-project/controller/src/main/...
答案 1 :(得分:0)