问题标签 [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 回答
865 浏览

maven-2 - Multi-webapp Maven 2 项目——如何构建单个 webapp?

我有以下源布局:

webapp1 和 webapp2 依赖于所有模块(模块是 DAO、服务等)。目前,我从根目录构建所有内容,并mvn package给了我两个 WAR 文件。

如何仅构建 webapp1 或 webapp2?

如果我cd进入 webapp1 并运行mvn package它说它不能下载 moduleX.jar (这是一个干净的存储库)。当然 Maven 应该能够推断出这些模块需要首先构建为依赖项?

0 投票
1 回答
7131 浏览

maven-2 - maven antrun 插件中的父属性

有一个多模块项目。在孩子内部,我需要做一些复杂的事情(部署到应用程序服务器的集成测试等等)。所以有一个集成测试孩子,从这个模块我需要父模块的根才能到达其他模块。我不想使用“..”。在 integrationtest POM 中有一个属性:

还有一个antrun插件,内容如下:

在输出中,main.basedir 没有被解析:

在变得非常生气之后,我决定问你如何解决这个问题......

0 投票
1 回答
2373 浏览

maven-2 - maven多模块组装

我有一个多模块 Maven 项目,我正在尝试为该项目创建一个程序集。程序集应该是一个 zip 文件,包括来自依赖项目的所有 jar 以及来自这些项目的所有资源(这是出于遗留支持的原因 - 我知道这不是一个好的做法,但在这种情况下,我们真的无能为力)。

我有一个程序集,它构建一个 zip 并包含构建输出目录的内容(它将获取资源)。如果我从父 pom 运行它,它实际上并没有构建一个 zip(可能是因为父项目的类型是 pom,而不是 jar)。如果我从单个项目之一运行程序集,它确实包含 jar 和所有依赖项(我指定包括依赖项)。它包括该项目的输出目录,但不包括子项目。

我是否需要做一些事情,比如从父项目运行一个程序集,迭代子项目并运行它们的程序集(每个子项目的程序集都是相同的——它将包括 jar、依赖项和输出目录)? 我什至不确定这是可能的......任何指导将不胜感激。

0 投票
1 回答
1452 浏览

java - 通过引用maven java项目中的父级来拉取模块的依赖关系?

我有一个 maven-java 项目(比如项目 A),它的 pom.xml 中有一个父定义模块。我还有一个外部项目(比如项目 B),它需要来自项目 A 的两个模块的依赖关系。现在,我已经定义了依赖关系来单独提取每个模块。当我将这两个替换为对父 pom 的依赖时,它会在构建时出错。我需要对项目 A 的父 pom 进行一些修改以使其工作吗?

这可以首先完成吗?

0 投票
1 回答
1445 浏览

eclipse - 在 Eclipse 中拥有 Maven 父项目以实现平面项目布局

我正在尝试“mavenize”现有的 EAR 应用程序。

我已经阅读了使用 WTP 创建多模块项目的指南,并创建了“平面项目布局”。

我的问题是,在键入命令时mvn eclipse:eclipse,我已经为 ear、ejb 和 war 项目创建了 .projects、.classpath 和 .settings,但没有为父项目(即<packaging>pom</packaging>.

你知道怎么做吗?

实际上,目标是直接从 Eclipse 向 SCM (SVN) 提交所有更改,这就是为什么我必须在处理的项目中有父项目。

0 投票
1 回答
603 浏览

maven-2 - 如何从 Maven 版本中排除非修改(scm)模块

我有一个包含大约 200 个 jar 的巨大项目,当我准备发布 maven 时为所有 jar 准备,但肯定有自上次构建以来尚未修改的 jar,所以有什么方法可以检查自上次从 scm 构建以来 jar 是否已被修改? 并排除它们?

我不想单独释放罐子(超过 200 个)。

例如:我想为父级制作 relase 但我不想发布尚未修改的 jar4

0 投票
1 回答
3954 浏览

maven-2 - 如何设置具有正确发布和版本结构的多模块 maven 项目

在版本控制、发布和 osgi 包方面,我找不到我的多模块 maven 项目的最佳实践,

首先是版本控制和发布。我的项目有 5-6 个子模块和 200+ jar 所以想使用聚合,

案例一:不指定项目版本,使用父版本

  • 在这种情况下,如果我使用 maven 发布插件,标记和 pom.next 都可以用于开发(好的意味着 jar3 将始终使用与自身相同的最新版本的 jar1)但是如果我只需要为 jar1 制作补丁发布怎么办?我如何设法发布(它说由于未发布的依赖项父:0.0.2-SNAPSHOT 无法发布项目),如果我设法发布 jar1 0.0.1.1,如何说 jar3 使用 jar1 的修补版本?

    Parent Proejct (0.0.1-Snapshot)
     Module1
      Jar1
      Jar2
     Module2
       Jar3
        (dependencies)[Jar1(project.version),Jar2(project.version)]
      Jar4
        (dependencies)[Jar1(project.version),Jar3(project.version) ]

案例 2:也许在父 pom 的属性文件中指定 jar 版本是个好主意

  • 在这种情况下,当我检查 pom.next 时不幸使用发布插件时,我看到 jar 版本和依赖版本都恢复为硬编码而不是属性(jar1.version),因此对于下一个版本,我将无法使用属性,并且第二个问题是即使我设法解决了第一个问题 maven 发布插件不会更改属性,所以下一个版本将使用属性中未修改的版本

    父项目
     属性
      jar1.version
      jar2.version
      jar3.version
      jar4.version
     Module1
      Jar1(jar1.version)
      Jar2(jar2.version)
     Module2(0.0.1-Snapshot)
      Jar3(jar3.version)
       (依赖)[Jar1,Jar2]
      Jar4(0.0.1-Snapshot)
       (依赖)[Jar1,Jar3]

我有点困惑,没想到发布和补丁程序会那么困难,用 maven 管理这种需求的最佳方法是什么

0 投票
1 回答
1628 浏览

maven - 每个模块带有 svn 标签的 Maven 发布设置

目标

多模块 Maven 版本,每个模块带有标签

情况

假设基于 Maven 的 Java 项目的项目结构如下:

Subversion 中的项目结构如下:

我的目标是在执行发布时为每个模块创建标签:

过去,每个模块都是单独构建和发布的。随着项目变得越来越大(30 个模块),构建发布的时间也在增加。我想将项目更改为多模块设置以执行反应堆构建和发布。构建似乎不是问题,但为每个模块创建标签是。

maven-release-plugin 似乎坚持只为整个项目/发布制作一个标签。我正在寻找一种创建多个标签的方法,例如每个模块一个标签。

到目前为止我尝试过的

  • 创建一个 xx-all Subversion 别名,它检查所有子模块,所以我可以引用它们<module>../xx-moduleB</module>
  • 启用commitByProject,它确实按模块提交,但不按模块标记。看
  • 每个模块在 中都有自己的<scm>元素pom.xml,但在执行 reactor 发布时不使用它们。
  • mvn --batch-mode -DcommitPerProject=true -DautoVersionSubmodules=true -Drelease.version=1.0.6 release:prepare release:perform

问题

  • maven-release-plugin 不会为每个模块创建一个 svn 标签
  • maven-release-plugin 用无效的 URL 覆盖<scm>标签,例如 xx-parent 标签下的嵌套“trunk”标签

问题

如何使用 Maven 发布流程、多模块布局设置此项目,并且仍然为每个模块获取单独的标签?

参考

http://jira.codehaus.org/browse/MRELEASE-261(关闭)和 MRELEASE-561(开放)

0 投票
1 回答
986 浏览

maven - gwt 多模块 vs 单模块项目

我已经看到 GWT SDK 的 GWT Expenses 应用程序使用单模块结构。

这是最佳做法吗?将项目拆分为多个 Maven 模块是否有任何缺点,即:

  • 客户
  • 共享
  • 服务器
0 投票
1 回答
565 浏览

gwt - 配置 GWT devmode 源位置

我已经看到,当我点击浏览器刷新时,更改包含 GWT 代码(即创建按钮、标签)的源 java 文件会自动重新加载。

我正在用这些模块做一个多模块的maven项目:

  • 客户
  • 共享
  • 服务器

但 GWT 代码重载功能仅适用于单模块项目。哪些配置文件告诉 GWT 从哪里重新加载它的源?如何在多模块 Maven 项目中配置此功能?

谢谢