java - 多模块构建人工解决方案与单独构建?

标签 java maven maven-3

我在我的项目中观察到以下 Maven 行为,这对我来说没有意义。这是正在发生的事情的本质。

假设我有一个包含两个模块的项目

  • com.example.foo.jar
  • com.example.bar.jar bar 依赖于 foo
  • 两者共享一个包含 Maven 模块的公共(public)父项目

当我的本地 .m2 为空,因此 foo 和 bar 未安装时。

  • project/目录中mvn clean verify工作并且构建成功
  • bar/目录中mvn初始化不起作用,我收到一条错误消息,指出maven无法解析bar对foo的依赖

那么为什么当我从项目文件夹而不是单个模块调用它时,maven 可以构建项目呢?

project/
  pom.xml
  foo/
    pom.xml
  bar/
    pom.xml

我试图避免这里讨论的mvn install hack http://developer-blog.cloudbees.com/2012/12/maven-and-hack.html

最佳答案

您可以在 react 器中构建子模块:

mvn -pl bar package -am

您还需要包含 -am 来构建 foo,否则 Maven 将无法获取 foo jar 来自。

参见Maven Modules + Building a Single Specific Module了解更多详情。

关于java - 多模块构建人工解决方案与单独构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19204546/

相关文章:

java - 有没有办法只针对特定配置文件运行自定义 Maven clean?

java - 了解 drawLine 的工作原理

java - LinkedList 中的 Add 方法不起作用

Maven 忽略 settings.xml 文件

java - Maven:插件部分中使用的基于配置文件的属性

java - Play Framework Multi-Tenancy 过滤器

java - maven-release-plugin 和表达式的问题

java - Firebase 管理 SDK : NoSuchMethodError for setCredential()

java - 配置 IntelliJ 以使用 Groovy 编译器而不是 Java 编译器

android - 使用 maven 构建 apk 中的 ClassNotFoundException