我是Maven的新手,我们将基于ant的项目转换为Maven项目。每件事情都很好。另外我们需要明智地编译源代码包。为了更清楚起见,我们在src/main/java文件夹中有三个包,分别是dao,svc和controller。我想首先编译dao,然后通过给dao引用编译svc,类似地通过仅给出svc的引用来编译控制器,但不是dao。使用Maven进行封装编译?
最终目标是确保控制器不使用任何dao类,它们只能使用svc类。如果这种情况失败,Maven构建必须失败。
请建议。
我是Maven的新手,我们将基于ant的项目转换为Maven项目。每件事情都很好。另外我们需要明智地编译源代码包。为了更清楚起见,我们在src/main/java文件夹中有三个包,分别是dao,svc和controller。我想首先编译dao,然后通过给dao引用编译svc,类似地通过仅给出svc的引用来编译控制器,但不是dao。使用Maven进行封装编译?
最终目标是确保控制器不使用任何dao类,它们只能使用svc类。如果这种情况失败,Maven构建必须失败。
请建议。
这听起来像你需要一个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/...
分割刀/ SVC /控制器为多个行家项目和相应地设置的依赖关系。 –
实现此目的的最简单方法是将项目拆分为三个(并且没有控制器导入dao)。 – Thilo