我是Maven的新手。我获得了一个新项目,其结构如下。
Data_Res
|
---res-search
| |
| -----res-hast
| | |
| | ------src/main....
| | |
| | ------pom.xml
| -----res-haster
| | |
| | ------src/main....
| | |
| | ------pom.xml
| |
| ----pom.xml
|
|
---pom.xml
---sonar_pom.xml
我没有看到root pom.xml中的modules部分。但我确实在sonar_pom.xml中看到了modules部分。它不包括所有子节点。文件夹/项目可以有两个pom吗?或者我们可以单独执行它们吗?
mvn clean install
。我做到了我被要求验证是否提供了其中一个子文件夹的所有依赖项。怎么检查这些?我可以在我的主目录中的.m2文件夹下看到一些文件。mvn package / build
(存在pom.xml)吗?答案 0 :(得分:9)
当您执行目标(e.g mvn install)
时,maven将检查执行文件夹上的pom.xml,如果pom.xml存在,它将执行该文件夹(即项目)的目标,如果有任何提到的模块将在模块上执行相同的目标,此操作是递归的。
文件夹/项目可以有两个pom吗?
是的,您可以为项目设置多个poms,但默认为pom.xml,如果要使用备用pom文件,可以使用-f
在您的案例mvn -f sonar_pom.xml clean install
中提及备用pom文件,probaly pom文件用于声纳。
我如何解释这一个?子模块或个别项目? 是否有任何指标可以找到?
如果您的本地maven仓库中存在父项和所有项目,则每个项目都可以独立构建pom.xml。
我被告知要在root pom上运行mvn clean install。我做到了我曾是 要求验证其中一个子文件夹的所有依赖项是否都是 提供。怎么检查这些?我可以在.m2文件夹下看到一些文件 我的主目录。
要验证依赖项检查本地maven repo,默认值为~/.m2/repository
,但可以在settings.xml中更改设置。检查~/.m2/settings.xml
如果文件不存在,您可以在<maven_home>/conf/settings.xml
中找到全局设置,将其复制到~/.m2/
然后可以覆盖该文件,请检查以下标记<localRepository>/path/to/local/repo</localRepository>
如何构建/打包?我打算在其中一个上工作 子文件夹。如果它是一个单独的项目或子模块,那就不是了。在 那种情况下,我可以直接转到那个文件夹并运行mvn package / 从该文件夹构建(pom.xml存在)?
如前所述,如果您拥有父项和所有依赖项,则可以在模块上执行mvn package
。您可以通过两种方式结合使用
mvn install
或答案 1 :(得分:0)
只是添加到已经正确的答案:在eclipse中我必须在“Maven Build”运行配置下创建一个新的“运行配置”。我将基目录设置为标准
$ {project_loc:连接}
和“目标”字段
-f pom_deploy.xml install -T 1C
然后我可以右键单击自定义pom_deploy.xml - &gt;以...运行 - &gt;运行配置 - &gt;自定义Maven部署
'-T 1C'是可选的,它告诉Maven同时使用多个处理器进行构建/编译过程。