使用Maven进行打包编译?

时间:2014-04-30 10:58:09

标签: java maven maven-3

我是Maven的新手,我们正在将基于ant的项目转换为Maven项目。一切都很好。另外,我们需要明智地编译源代码包。

更清楚一点,我们在src / main / java文件夹中有三个包,即dao,svc和controller。我想首先编译dao,然后通过给dao引用来编译svc,同样通过仅引用svc而不是dao来编译控制器。

最后,目标是确保控制器不使用任何dao类,它们只能使用svc类。如果这种情况失败,Maven构建必须失败。

请建议。

2 个答案:

答案 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)

  

更清楚一点,我们在src / main / java文件夹中有三个包,即dao,svc和controller。我想首先编译dao,然后通过给dao引用来编译svc,同样通过仅引用svc而不是dao来编译控制器。

根据您的要求判断,我认为您或多或少需要设置基于maven的多模块项目。看看这些链接

  1. Link 1
  2. Link 2