问题标签 [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.
maven-2 - Multi-webapp Maven 2 项目——如何构建单个 webapp?
我有以下源布局:
webapp1 和 webapp2 依赖于所有模块(模块是 DAO、服务等)。目前,我从根目录构建所有内容,并mvn package
给了我两个 WAR 文件。
如何仅构建 webapp1 或 webapp2?
如果我cd
进入 webapp1 并运行mvn package
它说它不能下载 moduleX.jar (这是一个干净的存储库)。当然 Maven 应该能够推断出这些模块需要首先构建为依赖项?
maven-2 - maven antrun 插件中的父属性
有一个多模块项目。在孩子内部,我需要做一些复杂的事情(部署到应用程序服务器的集成测试等等)。所以有一个集成测试孩子,从这个模块我需要父模块的根才能到达其他模块。我不想使用“..”。在 integrationtest POM 中有一个属性:
还有一个antrun插件,内容如下:
在输出中,main.basedir 没有被解析:
在变得非常生气之后,我决定问你如何解决这个问题......
maven-2 - maven多模块组装
我有一个多模块 Maven 项目,我正在尝试为该项目创建一个程序集。程序集应该是一个 zip 文件,包括来自依赖项目的所有 jar 以及来自这些项目的所有资源(这是出于遗留支持的原因 - 我知道这不是一个好的做法,但在这种情况下,我们真的无能为力)。
我有一个程序集,它构建一个 zip 并包含构建输出目录的内容(它将获取资源)。如果我从父 pom 运行它,它实际上并没有构建一个 zip(可能是因为父项目的类型是 pom,而不是 jar)。如果我从单个项目之一运行程序集,它确实包含 jar 和所有依赖项(我指定包括依赖项)。它包括该项目的输出目录,但不包括子项目。
我是否需要做一些事情,比如从父项目运行一个程序集,迭代子项目并运行它们的程序集(每个子项目的程序集都是相同的——它将包括 jar、依赖项和输出目录)? 我什至不确定这是可能的......任何指导将不胜感激。
java - 通过引用maven java项目中的父级来拉取模块的依赖关系?
我有一个 maven-java 项目(比如项目 A),它的 pom.xml 中有一个父定义模块。我还有一个外部项目(比如项目 B),它需要来自项目 A 的两个模块的依赖关系。现在,我已经定义了依赖关系来单独提取每个模块。当我将这两个替换为对父 pom 的依赖时,它会在构建时出错。我需要对项目 A 的父 pom 进行一些修改以使其工作吗?
这可以首先完成吗?
eclipse - 在 Eclipse 中拥有 Maven 父项目以实现平面项目布局
我正在尝试“mavenize”现有的 EAR 应用程序。
我已经阅读了使用 WTP 创建多模块项目的指南,并创建了“平面项目布局”。
我的问题是,在键入命令时mvn eclipse:eclipse
,我已经为 ear、ejb 和 war 项目创建了 .projects、.classpath 和 .settings,但没有为父项目(即<packaging>pom</packaging>
.
你知道怎么做吗?
实际上,目标是直接从 Eclipse 向 SCM (SVN) 提交所有更改,这就是为什么我必须在处理的项目中有父项目。
maven-2 - 如何从 Maven 版本中排除非修改(scm)模块
我有一个包含大约 200 个 jar 的巨大项目,当我准备发布 maven 时为所有 jar 准备,但肯定有自上次构建以来尚未修改的 jar,所以有什么方法可以检查自上次从 scm 构建以来 jar 是否已被修改? 并排除它们?
我不想单独释放罐子(超过 200 个)。
例如:我想为父级制作 relase 但我不想发布尚未修改的 jar4
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 管理这种需求的最佳方法是什么
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(开放)
maven - gwt 多模块 vs 单模块项目
我已经看到 GWT SDK 的 GWT Expenses 应用程序使用单模块结构。
这是最佳做法吗?将项目拆分为多个 Maven 模块是否有任何缺点,即:
- 客户
- 共享
- 服务器
gwt - 配置 GWT devmode 源位置
我已经看到,当我点击浏览器刷新时,更改包含 GWT 代码(即创建按钮、标签)的源 java 文件会自动重新加载。
我正在用这些模块做一个多模块的maven项目:
- 客户
- 共享
- 服务器
但 GWT 代码重载功能仅适用于单模块项目。哪些配置文件告诉 GWT 从哪里重新加载它的源?如何在多模块 Maven 项目中配置此功能?
谢谢