问题标签 [maven-2]

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 投票
2 回答
3545 浏览

c++ - 使用maven2构建基于autotools的C/C++包

我正在研究一个集合 MATLAB、Java 和 C/C++ 组件,它们都可以互操作,但编译/安装步骤截然不同。我们目前不为 MATLAB 编译任何东西,使用 maven2 进行 Java 构建和单元测试,并使用 autotools 进行 C/C++ 构建和单元测试。

我想使用 maven2 将所有内容移至单个构建和单元测试系统,但找不到一个插件,该插件将允许 C/C++ 代码流保持基于 autotools 并简单地将其包装在 maven 构建中。不得不取消 autotools 支持并在 maven 中重新创建所有依赖项很可能会破坏交易,所以我正在寻找一种让 maven 和 autotools 很好地协同工作的方法,而不是必须在两者之间进行选择。

这是可能的,甚至是可取的吗?有没有我忽略的资源?

0 投票
9 回答
2047 浏览

java - 您如何对项目进行版本控制和管理发布?

我们的情况如下,但我对这个问题在任何情况下都很好奇。

我们有一个由 4 个项目组成的框架:

  • 豆子
  • 实用程序
  • 框架
  • 网络

我们也有需要版本的模块,并且依赖于 bean 和 util 的版本。

最后,我们有一个客户项目,它由特定版本的核心项目和一个或多个模块组成。

是否有标准方法来对这些项目进行版本控制?

对我来说似乎很简单的事情变得非常复杂,因为我们尝试将发布交付给 QA,然后通过维护发布(发布 = 标签和可能的分支)来管理我们正在进行的开发。

我更喜欢以下内容:

1.2.0 - 主要和次要版本 + 发布。

1.2.1 - 下一个版本

1.2.0_01 - 1.2.0 版本(分支)中的错误修复

等等

有任何想法吗?

0 投票
4 回答
235 浏览

maven-2 - 这是构建代码库的正确方法吗?

我们有一个 Java 代码库,它目前是一个基于 Web 的 Netbeans 项目。随着我们的组织和代码库的增长,显然我们应该将系统的各个独立部分划分为单独的 jar。因此,一个 Jar 库用于数据访问层,一个用于通用库,一个用于专业知识访问,等等。然后我们将有一个单独的 Web 应用程序项目,一个用于命令行工具应用程序,另一个最终的网络应用程序等。

执行和管理此操作的推荐做法是什么?是马文吗?通过简单地创建单个项目并将一个项目的依赖关系设置在其他项目的 jar 文件上,仅使用 Netbeans 就可以有效地完成这一切吗?

0 投票
5 回答
17720 浏览

java - 如何为 Maven 构建的可执行 JAR 指定 JVM 参数

使用 Maven 构建可执行 JAR 时,如何指定执行 JAR 时使用的 JVM 参数?

我可以使用<mainClass>. 我怀疑 JVM 参数有一个类似的属性。特别是我需要指定最大内存(例如-Xmx500m)。

这是我的组装插件:

编辑/跟进:根据这篇文章和这篇文章,似乎不可能为可执行 JAR 指定 JVM 参数。

0 投票
4 回答
4215 浏览

java - Cobertura 拒绝承认代码被覆盖

我正在使用 Maven (2) Cobertura 插件来创建代码覆盖率报告,并且我在方法中使用了以下存根:

我知道我需要记录异常等,但这不是现在的重点……Cobertura 拒绝承认打印堆栈跟踪后的行已被覆盖。也就是说,System.err.println语句之前带有“}”的行没有显示为已覆盖。之前,方法的结尾大括号没有显示为被覆盖,因此System.err声明。知道如何说服 cobertura 的 maven 插件,因为该System.err.println语句已被涵盖,因此必须涵盖结束大括号?

哦,是的,我使用模拟安全管理器来抛出安全异常,因为这是我发现的让测试在System.exit调用后继续执行的最简单方法。

0 投票
3 回答
9693 浏览

java - 如何让 Cobertura 因代码覆盖率低而无法构建 M2

如果线路或分支覆盖率低于给定阈值,我正在尝试将我的 WAR 项目构建配置为失败。我一直在使用优秀书籍Java Power Tools第 455 页提供的配置,但没有成功。这是我项目的 Maven 2 POM 的相关片段:

正如我所说,覆盖率报告工作正常,问题是如果线路或分支覆盖率低于我指定的阈值,“安装”目标不会失败。有没有人有这个工作,如果有,你的 POM 是什么样的,你使用的是哪个版本的 Cobertura 和 Maven?我正在使用 Maven 2.0.9 和 Cobertura 2.2。

我试过谷歌搜索和阅读 Cobertura 文档,但没有运气(至少可以说后者很少)。

0 投票
4 回答
3131 浏览

maven-2 - 使用 maven2 进行 Eclipse rcp 项目的构建自动化和持续集成?

我的公司下周开始一个新项目。我们计划使用 eclipse rcp 开发应用程序。构建过程应该是完全自动化的,所以我们准备建立一个持续集成环境(例如 Continuum)。对于构建自动化部分,我打算使用 maven2,因为我想使用它的依赖管理。

我曾将 maven2 用于一个小型的老式 java 项目,但从未设置 maven 以将其与 eclipse rcp 一起使用。

最好的方法是什么?基本概念?常见的陷阱?那里有教程或书籍吗?我发现的教程和信息似乎过时或不完整。

PS:主项目将分为子项目(插件)。但我认为这对于 eclipse rcp 项目来说是典型的。

0 投票
3 回答
115989 浏览

maven-2 - “mvn deploy”到本地仓库和“mvn install”有什么区别?

我的团队使用从使用 Apache 的开发服务器共享的内部团队 maven 存储库。我们还在同一台机器上运行 Continuum CI 服务器。Continuum 中的 Maven 构建以“安装”目标运行,它将最终工件直接复制到共享目录中。

mvn install问题是,使用部署目标(mvn-deploy 插件)将文件添加到共享存储库有什么区别?

在我看来,使用mvn deploy会带来额外的配置麻烦,但我在某处读到,由于与 maven 的内部工作相关的某种原因,将文件安装到共享存储库中是一个坏主意。

deploy更新:我得到和之间的功能差异install;实际上,我对在 maven 存储库中创建的文件方面的低级细节更感兴趣。

0 投票
2 回答
6581 浏览

java - 有没有办法告诉 Maven 在哪里放置工件?

我在 m2eclipse 插件、windows 命令行和我的 cygwin 命令行中同时运行 maven。

cygwin 的 bash shell 将工件转储到 cygwin /home/me/.m2 目录中

但 m2eclipse & windows shell(在 vista 上)使用 /Users/me/Documents/.m2

是否可以告诉 mvn 命令使用一个中央 .m2 目录?

谢谢

0 投票
2 回答
2930 浏览

java - 使用maven时开发环境与部署的不同spring XML文件

概括

我们有一个中央 LDAP 服务器,我们部署的 Java Web 应用程序应该连接到该服务器。我们的 JUnit 测试依赖于 LDAP 存储库中的特定数据,因此它们需要连接到嵌入式 ApacheDS LDAP 服务器,并以示例数据集为基础。当我们部署我们的 webapp 时,我们如何确保 ApacheDS 服务器不会启动?

细节

我们正在使用 Spring 安全性,并在 ldap-context.xml 中有以下行来启动嵌入式 LDAP 服务器:

目前,我们的 web.xml 引用了这个测试上下文文件和我们的顶级 application-context.xml:

我们需要确保在运行 JUnit 测试以及直接从 eclipse(通过 WTP)运行 webapp 时包含 ldap-context.xml,但在打包 war 并将其部署到服务器时排除。

我们使用 maven 作为构建工具。我们可以很容易地为我们的 JUnit 测试处理这种情况,方法是确保它们在上下文配置中包含两个 spring 上下文文件:

然后,我们的 web.xml 将只包含 application-context.xml,除了一件事——从 WTP 运行时这不起作用——在这种情况下我们也需要启动嵌入式服务器。有什么建议么?