问题标签 [maven-package]

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 回答
91 浏览

spring - mvn package 将十亿个 jar 文件放在我的 /target 文件夹中。怎么办?

mvn package从命令行运行,这使我的 /target 文件夹包含十亿个 jar 文件。现在我该如何从命令行在我的 vfabric tc 服务器中运行它?

基本上,find ./ -iname "*jar*"显示:

不过,我没有看到我的项目的特定 jar 文件。我应该看到类似hp-dsat .jar 的东西吗?

0 投票
3 回答
3306 浏览

java - Maven 包不包含所有依赖项的 JAR

我正在为 Java Web 应用程序创建一个 WAR。问题是在 WAR 中,在 /WEB-INF/lib 中只包含了几个 JAR。

这是我的 POM.xml:

例如,我有来自不同 Spring 模块的 5 个依赖项,但我只看到一个包。

我所有的依赖项都有一个“编译”范围。

为什么会这样?

问候。

0 投票
3 回答
732 浏览

java - 为什么在 maven 周期的安装阶段,还要调用包阶段?

我的 pom.xml 中有一个部分

我想将 Weblogic 插件安装到我的本地存储库的位置。请注意,我表示我希望在安装阶段完成此操作。然后我想在打包和部署阶段使用这个插件。但是,当我尝试运行mvn install包阶段时,也会调用,并且我收到错误,因为我的 weblogic 插件尚未安装。那么为什么会这样呢?我希望我的插件先安装然后再使用。对不起英语不好。

0 投票
1 回答
950 浏览

maven - 使用 maven 创建单个文件工件的简单方法?

我想创建一个文件工件。不在乎它是否被存档文件包装。

有没有办法在不创建新的 maven-plugin 或不使用额外的程序集 xml 文件的情况下做到这一点?

* 完整代码 (XML) 将不胜感激。

0 投票
2 回答
52 浏览

java - Maven 打包后出错

当我在 IDE 中运行时,我的一个使用 Commons Chain 的项目工作正常。现在我尝试用 maven 打包它。

我使用了以下 pom.xml:

如您所见,我将主类添加到我的清单中并指定了要使用的依赖项。

打包过程贯穿始终,但是当我启动 jar 时它说:

这个错误来自哪里/我需要在我的配置文件中更改什么?

问候,

尼古拉斯

0 投票
0 回答
459 浏览

maven-3 - Why does a Maven 3 multi-module project fail on "clean package", and succeed on "clean compile" followed by "package"?

This is similar to the asked and answered question Maven test dependency on multi module project. However, this has nothing to do with the test phase, instead I'm having problems with package.

I have a multi-module project something like:

My dependencies are client-1 -> client-2 -> server-1 -> server-2 -> server-3 -> server-4, which is to say that client-2 depends on server-1, server-1 depends on server-2, and so on. Each is scoped to compile.

So the problem is that when I run mvn clean package in the root, I get a compilation failure in server-2 that package server-3 does not exist.

When I run mvn clean compile followed by mvn package in the root, it runs through without issue.

It always fails at the same module when it fails.

My understanding of the Build Lifecycle is that compile package is redundant since package includes the compile lifecycle.

The project is more complex, with a total of 41 modules, two parents and one root. Creating a simple example inevitably works as expected.

I'm stumped as to how I should proceed.


Update 2015-10-25

Turns out I was wrong about the order of commands for success. I've updated my question and the description, and included debug output per Michael-O's request:

Update 2015-11-16

After much refactoring the build no longer fails in the same place. I've seen it fail in a similar way, consistently, but the location of the failure moves around. I am not running multiple threads, but it seems very clear to me there's a race somewhere in which an obviously available package (absolutely located and reachable in my ~/.m2/repository local cache, and added to the classpath) is not visible to the Maven compiler.

And knowing what I know about race conditions, I have no idea how I would file a bug report of any substance given I can't offer anything more than supposition and finger pointing.

0 投票
1 回答
75 浏览

java - 打包到 Maven 项目

目前我们正在使用ANT脚本来构建项目并运行 jUnit 测试。现在,我们决定迁移到 Maven。

我们有两个 web 项目,Core-ProjectSub-Project。现在这里变得复杂了。他们的项目如下。 项目结构 现在,如果我想将此子项目添加到核心项目中,那么我将创建一个带有 WebContent 文件夹的子项目 jar 并将其放入核心项目中。现在,每当我运行 Core-Project 时,我们都有一个实用程序类,它将子项目的内容提取到 Core-Project 中。

最终(预期)项目结构应如下所示。

最终项目结构

我怎样才能在 Maven 中实现这一点?我的意思是如何创建一个包含一些位于 src->main->webapp 中的文件的 jar。

0 投票
0 回答
43 浏览

java - maven怎么知道打包web应用?

我刚刚使用了web-app archetype maven并在这个样式目录中开发,调用“mvn包”产生了正确的打包方式,我在eclipse中通过右键单击应用程序和部署程序集找到了这些配置,但是这些配置在哪里?

我认为它们与 Maven 相关,而不是 Eclipse,那么它们在哪里?

它们是网络应用原型的默认设置吗?

以及如何添加其他配置路径,如 src/main/java ->(deploy path) /WEB-INF/classes 以获取打包信息?

0 投票
1 回答
85 浏览

java - 通过更改依赖项使用 Maven 打包多个 JAR

我有一个简单的问题,但是作为 Maven 的新手,目前还不清楚哪个是解决这个问题的最佳实践。

我正在工作的项目依赖于管理档案,如下所示:net.sf.sevenzipjbindings

这种依赖由两个工件构成:一个是纯 Java,它提供 Java 接口,另一个是本机底层代码,根据操作系统具有多种风格。

目前,我正在将 maven 构建的 jar 与所有平台的所有本地人打包,但我希望能够执行以下操作:

  • 在项目上工作时(compile如果我理解正确,那么目标)使用全平台工件(这样我就可以从多个操作系统无缝工作
  • 打包时构建 3 个不同的 JAR,其依赖项由 Java 接口 + 特定平台工件组成

从我的角度来看,这听起来很简单,但我很难理解我应该做什么以及一般的最佳实践是什么。由于这里没有不同的或模块化的功能(比如将部分代码隔离到一个单独的模块中),只是替换了底层动态库。

0 投票
5 回答
10608 浏览

java - 具有显式 finalName 的 Maven 将无法正常工作

1. 背景

我的 maven 项目有很多模块和子模块,jars并且wars一切正常。我也可以毫无问题地将它部署在服务器上。

我决定遵循这个 maven 命名转换,我正在做一些测试project.nameproject.build.finalName有一个合适的名字。

project.name我为根工件定义的模式是company-${project.artifactId},模块和子模块是${project.parent.name}-${project.artifactId}

  • 公司任何工件任何模块1
  • 公司任何工件任何模块2任何子模块1
  • 公司任何工件任何模块2任何子模块2

的模式project.build.finalName${project.name}-${project.version}

  • 公司-任何-工件-任何-module1-1.0.jar
  • company-any-artifact-any-module2-any-submodule1-2.0.jar
  • company-any-artifact-any-module2-any-submodule2-3.0.war

但是,maven 没有生成这些文件,而是给了我一个StackOverflowError.

2. 重现错误的例子

您可以从 github 克隆此示例:https ://github.com/pauloleitemoreira/company-any-artifact

在 github 中有一个master分支,它将重现此错误。还有一个分支,这是一个可以根据需要生成 jaronly-modules的工作示例。${project.parent.name}finalName

让我们考虑一个具有一个根 pom 工件、一个 pom 模块和一个子模块的 maven 项目。

2.1 任意神器

2.2 任意模块

2.3 任意子模块

3.问题

当尝试时mvn clean install,maven 给了我一个StackOverflowError

重要的是要知道错误仅在我们使用子模块时发生。如果我们使用根 POM 工件和 jar 模块创建项目,则不会发生错误。

4.问题

为什么只有在我们使用子模块时才会出现这个错误?

有什么建议可以解决我的问题吗?我应该忘记它并按照我想要的模式为每个项目手动设置project.nameproject.build.fileName

重要更新:

有些答案只是说要使用&{parent.name},但它不起作用。拜托,这是一个赏金问题Maven version 3.3.9,在回答这个问题之前,请考虑使用 测试您的解决方案。

Maven 版本 3.3.9

编辑- 在发生错误时向问题添加详细信息,在该阶段之前一切正常prepare-package,但 StackOverflow 发生在package项目的 maven 生命周期阶段。