问题标签 [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 投票
3 回答
7500 浏览

configuration - 如何为多模块 Maven 项目配置 Jenkins

我有一个 Maven 多模块项目。结构如下:

包定义如下:


其中一个模块(ModulA)具有相同的层次结构,另一个在父模块中。我尝试在 Jenkins 中添加一个工作来自动构建。(干净的包装)..

我应该如何配置 parentModul 找到其他模块并构建项目的作业。??

0 投票
3 回答
47300 浏览

maven - Maven 多模块项目 - 将所有“包” JARS 从子模块复制到父/目标/

我有一个包含很多子模块的 Maven 项目。我正在寻找的是一种获取聚合POM的/target/目录中包含的子模块生成的所有.jar文件的方法,以便以后可以方便地使用它们。

  • 它们不需要合并。最好不要,但如果它们必须是,那没关系。
  • 不关心依赖
  • 这主要是为了方便,此时

我正在寻找的基本版本:

我一直在阅读并使用 SO 的一些建议。到目前为止,我还没有找到一种方法来做到这一点,但我确信它就在那里。

编辑:

对于所有包含的子项目,我已经放弃了让它以简单的方式工作。到目前为止,我最好的答案是使用依赖插件手动指定(再次)要包含的每个子模块。其想法是能够轻松地为数十个客户端配置 POM,只需包含必要的模块,然后让它神奇地将所有子模块的 jar 粘贴到一个位置。Maven 非常好,当你不怎么用它的时候,但是当你尝试的时候尖括号税是不可思议的。

我仍然觉得奇怪的是,这些看似标准的任务(从 SO 上提出的问题来看,以及任何正常项目会做什么)如此困难。maven3更好吗?

0 投票
4 回答
9470 浏览

maven - Maven:多模块项目和版本控制

使用 Maven 进行软件版本控制和多模块项目的最佳实践是什么?

我的意思是,当我使用 Maven 创建一个多模块项目时,版本控制的最佳方法是什么?为所有模块使用一个版本(在顶级项目中定义)?为每个模块使用一个版本(在每个模块的 POM 中定义)?我还缺少另一种方法吗?每种方法的优缺点是什么?

一般来说,不同的模块是否一起发布(可能共享相同的版本号)?

谢谢

0 投票
1 回答
555 浏览

maven - Maven:多个项目共享的模块?

我有多个项目依赖于相同的数据模型。后者由 Maven 项目定义。让我们以两个复合项目 A 和 B 为例,每个项目都包含多个模块,并且依赖于这个数据模型。项目 A 和 B 不相关。

在这种情况下,最好的方法是什么?将数据模型作为一个独立的项目让 A 和 B 依赖它?或者,将数据模型定义为一个模块,并将其包含在两个复合项目A和B中(不知道一个模块是否可以被多个项目共享)?

谢谢

0 投票
1 回答
2832 浏览

maven - Maven:SCM 和多模块项目

我有一个大的多模块项目,我想为 Maven 指定 SCM 信息。但是,每个模块和父项目在 SVN 上都有一个专用文件夹,因此 SCM 信息似乎特定于每个模块。

我需要为 connection 和 developerConnection 元素使用哪个值?我需要为每个模块配置 SCM 还是可以在父项目中配置一次?

谢谢

0 投票
1 回答
3216 浏览

hibernate - 多模块项目 spring 3.0 AnnotationSessionFactoryBean packagesToScan 属性值按模块设置

我有以下结构:

公共模块

  • 包含公共模块相关、服务和持久化api
  • 包含一个公共持久性上下文test-common-persistence-context.xml

搜索模块(取决于通用模块)

  • 包含搜索模块相关的模型bean(标有JPA Entity注解)、服务和持久化api
  • 包含搜索模块相关的 spring 上下文文件

booking-module (依赖于 Common Module) - 包含与预订模块相关的模型 bean(用 JPA Entity 注释标记)、服务和持久性 api - 包含与预订模块相关的 spring 上下文文件

在公共模块中,我有test-common-persistence-context.xml 。对于类型为org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBeansessionFactory bean, 我需要将属性“packagesToScan”值设置为 JPA 所在的包存在实体注释标记的模型 bean。没有它,我得到异常Unknown entity: MY_ENTITY_NAME

通用模块:test-common-persistence-context.xml

在我的公共模块中没有 JPA 实体,所以我没有要扫描的包,所以我将“packagesToScan”属性值保留为空

但是,我需要在我的搜索模块和预订模块测试 ( SearchPersistenceTestBase.java ) 中使用相同的持久性上下文,以便检测到相应模块中的 JPA 实体。

搜索模块:SearchPersistenceTestBase.java

有人可以指导我如何使用上面显示的设置来实现这种期望的行为吗?

**我尝试过的方法**

我想使用一个额外的 java.lang.String 类型 bean,它的值是从属性文件中设置的

其中test.packages.to.scan.jpa.annotations在test-common-persistence-bundle.properties中定义为空

然后我覆盖了test-search-spring-context.xml中的 bean 定义

测试搜索-spring-context.xml

其中test.packages.to.scan.jpa.annotations在 test-search-bundle.properties中定义为“com.search.model

但这没有用,我得到了异常Unknown entity: MY_ENTITY_NAME

谢谢,
吉涅什

0 投票
2 回答
2553 浏览

maven-2 - 如何设置maven框架顶级pom

我刚刚将我们的一个内部框架项目从 ant 转换为 maven。maven 构建运行良好,并且可以毫无问题地部署到我们的存储库。

问题是当其他项目尝试使用该框架时,它不起作用。唯一下载的是顶级框架 pom。

我尝试将一些依赖项添加到一个或多个不同的模块中,但无论添加哪一个,都会出现循环依赖错误。我还尝试创建一个没有模块和一些依赖项的第二个顶级 pom 文件来覆盖存储库管理器中的那个。这会导致一些依赖项被下载,但随后 maven 构建将挂在随机位置。基于windows任务管理器,它看起来像一个无限循环。所以第二个 pom 文件似乎不是答案(或者我做错了)。

我的框架 pom 文件看起来像这样:

然后是顶级 pom 的常用属性、依赖管理和 pluginManagement 条目。

在消费模块中,我只有以下内容:

这是在顶级 pom 中,因此所有子模块都可以访问框架库,以使开发人员更容易。

我该如何设置,以便我的消费项目下载所有依赖的 jar 文件?

0 投票
1 回答
364 浏览

maven - eclipse插件不维护maven多模块的顺序

我们有一堆 Eclipse 插件项目、功能和更新站点。我们创建了一个主 pom,我们在其中定义了模块:

我们希望保留此顺序并按照使用多个模块的指南 按照上面的链接,我们假设将按照列出模块元素的顺序保留该顺序。

我们的要求:site1 生成一个 site_assembly.zip。我们想把这个 zip 文件打包成一个包,这就是“b2”包的作用。

我们的观察:

  1. 在多模块构建开始时打印的 Maven 反应器顺序是正确的,但是每个模块的构建都是分叉的。
  2. 因为 (1) 在构建 site1 项目之前构建了捆绑包 b2,并且能够生成站点程序集 zip。
  3. 我们尝试将“b2”的 pom.xml 中的依赖项添加到 site1,但构建失败,因为它首先尝试构建 b2,它依赖于目前尚未构建的 site1。
  4. 当我们对 osgi 片段进行单元测试时,我们观察到了相同的行为。按照我们明确指定主机在测试片段之前的顺序,但是当调用 maven 构建时,它总是在主机之前构建片段并且它曾经失败。

在 master pom 中定义的插件:

我们不确定 maven-tycho-plugin 是否会干扰反应器的顺序,因此我们将不胜感激。

0 投票
1 回答
18531 浏览

maven - 使用 Maven 程序集插件管理多模块依赖项

我使用 Maven 程序集插件为我的多模块项目创建程序集。从这个多模块项目构建了两个独立的应用程序,每个应用程序都有一组单独的依赖项。我制作了一个自定义程序集描述符,它将两个目录(针对每个应用程序)与模块构建及其各自的依赖项组合在一起。它做的一切都很好,但有一件事 - 它将两个模块的依赖关系放到彼此的程序集中。

以下是我的项目的简化版本,具有完全相同的行为。

考虑一个由两个模块和一个组装模块组成的项目:

我添加了依赖项纯粹是为了演示:

这是父 POM:

模块1 POM:

模块2 POM:

组装POM:

最后,程序集描述符:

如您所见,程序集绑定到包阶段。所以,当我执行

从父目录,我有以下程序集

基本上这里的问题是module1不依赖commons-daemon,但是汇编插件已经包含了依赖。同样,对于 module2 和 commons-cli。

有人可以解释为什么程序集插件会这样吗?

什么是解决方案?

0 投票
2 回答
3190 浏览

maven - Jenkins 和 Maven 多模块项目缺少工件

这是一个 ear 项目的简化示例,父 pom 聚合了 EAR、EJB 和 jar。

我在一个 Maven 项目中有这个结构,存储在 SVN 中:

modulB 具有 modulA 的依赖关系

pom.xml 有模块部分

还有一个依赖管理部分

子模块引用父模块

当我第一次使用 maven 2.2.1 (windows) 编译时,在我的电脑中

我没有任何问题

但是....当 Jenkins 第一次尝试编译时(Maven 2.2.1 Linux RedHat)

为什么????????

之后,如果我将项目从我的 pc 部署到 Artifactory,Jenkins 就没有问题,因为 Jenkins 从存储库下载工件......但是为什么 Jenkins 依赖于存储库中的工件?

:(

提前致谢

编辑:

我认为dependencyManagement 部分仅“定义”依赖项,但如果子模块不使用依赖项,则依赖项不会添加到子模块中。我删除了dependencyManagement 部分,Jenkins 中的问题仍然存在。

它在我的电脑上运行没有问题。