问题标签 [multi-module]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
770 浏览

android - Maven / Android:从父项目调用子模块上的自定义目标

我有一个包含三个子模块的 Maven 聚合(父)项目。其中一个模块是可以部署到设备模拟器的 Android 项目。我希望能够从我的顶级父项目运行“mvn clean install android:deploy android:run”并让它在所有子模块和“mvn android:deploy android:run”上运行“mvn clean install”仅在我的 Android 模块上。我需要能够从一行运行所有 maven 命令,以便与持续集成套件集成。

有没有办法做到这一点(在我的 POM 文件中使用特殊配置或通过传递特定的命令行参数)?

我尝试按照此处的说明进行操作:Maven profile for single module。我设置了两个配置文件(一个包含所有模块,一个只包含我的 Android 模块)并运行类似 'mvn -Pall clean install -Pandroid android:deploy android:run' 但 Maven 无法解析不同的配置文件参数目标。

非常感谢。

0 投票
1 回答
1089 浏览

maven-2 - 多模块 maven-soapUI 项目问题

我正在使用soapUI maven 插件来创建一个多模块maven-soapUi 项目。我有几个子 maven 项目,每个项目都有自己的 project.xml 和 pom.xml 文件。当我单独运行每个子项目时,它工作正常。但是当我运行父项目时,它会在父根目录而不是子目录中查找 project.xml 文件,因此失败了,有没有解决方案?

子 POM

父 POM

0 投票
1 回答
2564 浏览

maven-3 - maven3 多模块子groupId

在 maven3 中,如果我将多模块项目中子模块的 groupId 指定为与​​父模块相同,则会收到警告。现在我不确定这是否表明我应该使用不同的 groupId 或者我是否应该省略它以使用父 groupId。

根据http://maven.apache.org/guides/mini/guide-naming-conventions.html

确定 groupId 粒度的一个好方法是使用项目结构。也就是说,如果当前项目是一个多模块项目,它应该将一个新的标识符附加到父级的 groupId。例如。org.apache.maven、org.apache.maven.plugins、org.apache.maven.reporting

这让我相信每个孩子都应该有一个与父母不同的 groupId。那是对的吗?

0 投票
3 回答
6444 浏览

maven - 具有特殊结构的多模块项目的Maven组装

我是 Maven 的新手,我想我已经开始了解它是如何工作的了。但我无法理解 maven 程序集插件。我想要实现的是:

当所有项目都打包后,以及它们各自的依赖项,我想把它们都放在目标目录中。我不希望将它们打包到一个超级 jar 中,因为该系统是基于模块的。

让我解释一下,我有一个主项目,服务器,在maven项目“common”中,我有两个模块,“core”和“android”。在 common 文件夹中,还有一个我想要复制的 conf 文件夹。我想要这个结构:

  • 目标/common.jar
  • 目标/conf/ (配置文件)
  • 目标/模块/core.jar
  • 目标/模块/android.jar

我的项目结构是这样的:

  • pom.xml(父项目)
  • common/ (maven 模块)
  • 核心/(maven模块)
  • 安卓/(maven模块)

感谢您的任何帮助,或以正确的方式提供指导。:)

编辑这是 100% 工作的 ant 构建文件,也许我应该保留它?

0 投票
1 回答
452 浏览

maven - 使用 Spring Roo 的混合多模块 Maven 项目 - 多个 JPA 持久性单元

我正在尝试创建一个混合多模块 maven 项目,其中一些项目由 Spring Roo 管理,而其他项目则是独立的。

到目前为止,这是我的项目结构:

根项目(根 POM)
|
| -- commons    (maven 模块、Spring Roo 托管、JPA 持久性模块)
| --核心           (maven 模块、Spring Roo 托管、JPA 持久性模块)
| --后台(maven 模块、Spring Roo 托管、WebApp)
| -- frontoffice (maven module, WebApp)

Maven 依赖:
- Backoffice < Core < Commons
- FrontOffice < Core < Commons

到目前为止,一切都很好。我可以使用 Spring Roo 构建我的工件并管理上述项目。但是,由于我在两个持久性模块中都使用了 spring roo,所以我有两个 jpa 持久性单元。我想将该责任委托给 FrontOffice 或 BackkOffice Web 应用程序,但是,由于持久性模块是使用 Spring Roo 管理的,因此它需要具有 JPA 配置。

当某些模块由 Spring Roo 管理时,您对如何组织多模块 maven 项目有什么建议吗?

感谢您的帮助和建议

此致

JSimas

0 投票
4 回答
63674 浏览

java - Maven多模块项目的构建顺序?

情况是,我有两个结构相同的 Maven 多模块项目:

当我构建项目 1 时,我看到先构建父级(顺序是parent->module1->module2)。但是对于项目 2,最后构建了父级(顺序为module1->module2->parent)。为什么这两个项目有不同的构建顺序?此外,如何手动控制构建顺序?

更新1:
两个父项目都是没有源代码的简单POM项目,所以我无法根据依赖图解释构建顺序。

更新 2:
除了 GAV 和子模块名称之外,父 POM 是相同的:

0 投票
1 回答
1087 浏览

eclipse - 在多模块项目的 Eclipse 中使用 Jetty Maven 插件进行调试:编译单元不在构建路径上

我想使用 Jetty Maven 插件在 Eclipse 中运行一个多模块项目。该项目运行良好,并且运行mvn jetty:run-exploded配置文件得到正确处理。

Maven设置:

Eclipse设置: 项目和所有模块都是工作空间中的Maven项目,模块项目也是Java项目。

我将标准 Jetty 配置添加到 /module-service/pom.xml 并在 module-service/pom.xml 上运行 Maven

但是,当我想调试时,当我想使用内容辅助时遇到以下错误:

此编译单元不在 Java 项目的构建路径上。

此外,热代码替换不起作用。但是变量和所有断点都被正确检测到了!我所看到的是在父项目中打开文件的编辑器(作为副作用,编辑器有一个不同的 Java 文件图标,一个空心的蓝色 J 而不是一个完整的蓝色 J)。

到目前为止尝试的解决方案:

  • 将 Java 方面添加到父项目 >​​ 源文件夹被正确检测到,但我得到很多构建路径错误,因为父项目没有指向所有模块库的指针。
  • 将模块添加到模块服务项目的构建路径中。
  • 检查调试配置中的解决工作区工件(导致错误“无法复制工件的文件”),可能在这里解决,但我不知道如何。

我使用 jetty-maven-plugin 版本 8.1.4.v20120524。

0 投票
1 回答
12632 浏览

maven - 如何使用嵌套模块打包多模块 maven 项目

我在 Maven 中有一个可以正确编译但没有正确打包的多模块项目。

在主 mavenpom.xml中,我包含这样的模块:

与 maven 约定不同,该项目必须将其测试源代码树编译为单独的模块,因为测试代码的编译依赖项与主源代码的依赖项不同。因此解决方案是将所有测试模块设置为依赖于任何主要源模块,以确保它们以正确的顺序编译。

这个项目的目录结构非常不标准。我已将 pom.xml 放置在我认为它们所属的位置。虽然我无法更改此目录结构 - 它超出了我的控制范围。它是这样的:

这是常规源模块的 pom.xml 的样子。这完美地工作:

这是一个测试模块的 pom.xml:

但是,由于测试模块是主模块的子目录,因此一旦尝试打包 module.test,就会出现以下错误:

出于某种原因,Maven 认为它需要从存储库中获取这个 jar,即使它之前只是构建了它......

我是否需要像其他人一样将 module1/test 中的 pom.xml 移动到父级别?如何在不移动 pom.xml 的情况下解决此问题?

谢谢

0 投票
1 回答
664 浏览

maven - 如何在 Maven 多模块项目中共享依赖项?

我有点好奇这是如何工作的——如果我在一个 Maven 多模块项目中有 5 个模块项目,你可以在不将该项目添加为依赖项的情况下将内容和包导入其他模块吗?或者您实际上是否需要 .jar(或快照 jar)才能使用其他模块的结构/功能?

谢谢,

0 投票
4 回答
40591 浏览

maven - Maven 说我在多模块项目中有一个循环引用,但不知道为什么

我有一个看起来像这样的多模块项目:

  • 模块1
    • pom.xml
  • 模块2
    • pom.xml
  • pom.xml

module2 中的 pom.xml 依赖于 module1。

当我运行 mvn clean compile 时,出现以下错误:

反应堆中的项目包含循环引用。

这是我在 module1 中的依赖项:

我不明白为什么它说有一个循环引用。即使我在 module1 上执行 mvn dependency:tree 我得到以下信息:

在我看来,module1 中没有对 module2 的任何引用。那么循环引用从何而来?

编辑:这是调试日志: