问题标签 [maven-3]
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 - 初始化期间依赖标记内的各种参数的标记化失败
以下依赖项是我的 pom.xml 文件的一部分,通过在我的 profiles.xml 中选择适当的数据库配置文件,这些值将被正确替换。以下定义适用于 Maven 2.2.1,并且在迁移到 Maven 3.0.2 后已停止工作。如何解决这个问题?
错误
maven-2 - Maven 多模块 EAR 文件的“未解决的编译问题”
war 模块中的 JSP 不会编译,因为 jar 模块在编译时不在类路径中。
EAR 模块依赖项
EAR 插件设置
WAR插件(在war模块中)
maven - 如何在 Maven3 中指定活动配置文件
我们的应用程序由各种活动配置文件(比如 A1、A2、A3、A5 ...)组成,这些配置文件分别在profiles.xml 文件中定义。Maven 3 期望将所有配置文件信息存储为 pom.xml 文件本身的一部分。
我应该如何在 pom.xml 文件中指定活动配置文件的列表,这样我就可以避免在命令行中指定它们(例如 mvn -PA1,A2,A3,A5)
java - 为什么“mvn compile”需要“test-jar”依赖
我test-jar
在多模块项目中使用依赖项时遇到问题。例如,当我声明cleartk-syntax
模块依赖于cleartk-token
模块时test-jar
(完整代码在这里):
如果我mvn compile
使用 maven 2 运行,我会收到以下错误:
如果我使用 maven 3,我会收到错误消息:
在后一种情况下,我特别困惑,因为我认为它应该寻找 type 的 artifact 而test-jar
不是 type jar
。
使用 maven 2 或 maven 3,我可以通过运行mvn compile package -DskipTests
. 使用 maven 3,我还可以通过运行mvn compile test-compile
.
但是为什么 maven 2 或 maven 3 在该阶段寻找test-jar
依赖项compile
?难道不应该等到test-compile
寻找这种依赖的阶段吗?
更新:答案是在我的编译阶段使用的 maven-exec-plugin需要对 scope:test 中的工件进行依赖解析。我创建了一个功能请求来删除 scope:test 依赖项。
eclipse - 从 Maven 构建中(暂时)排除源的“正确”方法是什么,是否有一种简单的方法可以从 Eclipse 中做到这一点?
我是 maven 的新手,而且我对 Eclipse 也没有很多经验。
要在 Eclipse 中从构建中排除 java 文件,我右键单击这些文件并选择构建路径 -> 排除。这对于 Eclipse 中的“on-save”编译非常有用,但它不会传播到 maven 项目,所以当我使用 mvn install 构建我的项目时,它会尝试编译排除的源。
我做了一些搜索,结果指向编译器插件和 <excludes> 功能,但是编辑 maven 项目文件以暂时从构建中排除文件似乎有点尴尬。
从 Maven 构建中(临时)排除源的“正确”方法是什么,是否有一种简单的方法可以通过 m2eclipse 插件或其他方式从 Eclipse 中做到这一点?
variables - 如何使用 _profiles_ 在 Maven3 中实现变量依赖版本?
我们需要使用不同版本的 deps 构建项目(在此示例中,Postgres 8 和 Postgres 9)。此外,我们的开发人员在他们的计算机上拥有不同版本的数据库。
我试图做这样的事情:
但它没有用。配置文件变量根本没有覆盖 pom 变量。此外,即使使用 ~/.m2/settings.xml,我也无法做到这一点。
有谁知道如何做到这一点?谢谢。
java - 使用 maven 执行主类并保存输出
我目前正在将我的 ANT 构建文件转换为 maven,并且遇到了一些问题。
如果您运行它们的主方法,我有一些类会自动为自己生成文档文件。我的构建过程的一部分是运行这些主要方法,将输出保存到文本文件,然后将它们上传到项目网站。
我的 ANT 目标看起来像这样:
有没有办法在 Maven 中做同样的事情?
maven-2 - 是否可以通过 Maven 属性获取依赖项的最终名称?
可以获得当前项目的最终名称。
这对依赖项也有可能吗?我正在寻找这样的东西:
基于此示例 pom 依赖项剪切。
最终名称可能是 stackoverflow-question-1.6.0-SNAPSHOT,但由于锁定的快照或版本,这可能是可变的,我不想动态读取它。你能帮我解决这个问题吗?非常感谢。
maven-2 - 将大型版本部署到 Maven Central
- Maven 中央存储库上的工件是否会过期?
- 每个工件的大小是否有大小限制?
我问是因为有些工件会变得非常大,我担心这可能会导致问题。
我给你一个简单的例子。我的库依赖于 Boost C++ 库。Boost 以 241MB 的源(压缩后的 75MB)开始。编译它时,每个编译器/平台组合(即 Visual Studio 2010、Windows、32 位)最终会得到 2.78GB 的二进制文件(200MB 压缩)。然后,您必须将该数字乘以您要支持的平台数量。
一方面,我不希望用户自己构建 Boost,因为这是一个非常痛苦和漫长的过程。另一方面,我觉得每次发布上传 GB 的工件并不是正确的方法;)
我的库只依赖于 Boost 的一个非常小的子集,所以从技术上讲,我可以只上传那个子集(每个平台的成本约为 10MB)。我担心长期会发生什么。如果更多的人开始使用 Boost 并且每个人都上传他们所依赖的子集会发生什么......?
有关如何拆分 Boost 模块的示例,请参阅http://sourceforge.net/projects/boost/files/boost-binaries/1.44.0/ 。如您所见,单个模块非常小。
之前出现过类似的主题:http ://maven.40175.n5.nabble.com/Best-practice-re-releasing-large-assembly-artifacts-td3250739.html但在我的情况下,我没有尝试部署程序集进入中央。我正在尝试部署碰巧非常大的单个工件。
让我知道你的想法。
eclipse - 将 m2eclipse 用于具有父 pom.xml 的多个项目
我有多个 Maven 项目,它们各自的 pom.xml 是父 pom.xml。
现在,从 Eclipse 中,我可以右键单击 common-project 或 application-project,我在那里看到 Run As Maven... 选项。但是当我需要为所有项目运行一个特定目标时,即在父 pom.xml 中,如果不使用命令行,我不明白该怎么做?