问题标签 [maven-jar-plugin]

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 投票
3 回答
2708 浏览

java - 我应该如何在 maven 项目中选择配置文件的位置

我正在构建一个依赖于一些配置文件的命令行工具。

在开发时,我将这些文件放在 下src/main/resources,并由 访问getClass().getResourceAsStream("/config-file-name"),效果很好。

我选择 maven-assembly-plugin 来构建具有所有依赖项的 jar。

配置文件都包装在jar中,但我想将它们分开。

所以,我添加以下配置,

完成此操作后,配置文件与 jar 一起出现,而不是包装在 jar 中。

但是我的代码现在无法访问这些文件。

我是否需要更改在代码中访问文件的方式?

还是我不需要将这些文件放入src/main/resources/任何替代方案?

如果有人知道,请帮助。

谢谢。


更新:最后,我放弃使用 maven 资源文件,而是将文件路径默认设置为与 jar 相同的路径,一切正常,除了 Eclipse 抱怨。

由于我想将配置文件移出 jar,并且不希望它位于 target/classes 文件夹中,所以我使用<targetPath>..</targetPath>将配置文件移动到与 jar 文件相同的目录。

当我重新生成 Eclipse 项目设置时,Eclipse 说:不能在输出文件夹“project/target”内嵌套输出文件夹“project/target/test-classes”。

有人帮我吗?

0 投票
4 回答
12162 浏览

java - 如何使用 Maven 创建具有完整依赖项的独立应用程序?

我有一个使用 Maven 2 构建的桌面 Java 应用程序(但如果有帮助,我可以升级到 Maven 3),并带有许多开源依赖项。我现在正在尝试将其打包为独立的,以使其可供最终用户使用,而无需安装 maven 或其他任何东西。

我已经成功地使用 maven-assembly-plugin 构建了一个包含所有依赖项的 jar,但这并不是我真正想要的,因为在使用 LGPL 库时,您打算将您正在使用的库作为单独的 jar 重新分发。

我希望 Maven 构建一个 zip,其中包含一个带有我的代码的 jar 和一个MANIFEST.MF引用我需要的其他 jar 以及其他 jar 的 jar。这似乎是标准做法,但我不知道该怎么做。

这是我的 pom 的摘录

编辑:采用 Kals 的想法

创建了一个名为descriptor.xml的文件

和 pom 包含:

现在维护jar并将它们全部放在lib文件夹中,包括我自己的代码

0 投票
2 回答
20012 浏览

java - 如何在 maven-shade-plugin 创建的 Jar 中包含测试类?

我正在尝试使用 Maven 将我的测试类打包到一个具有依赖项的可执行 jar 中,但我正在努力做到这一点。

到目前为止,这是我的 pom.xml:

当我执行mvn clean package构建创建3个罐子:

  • executable-tests-1.0.jar // 由 mvn package 阶段构建
  • executable-tests-1.0-teststjar // 由 jar-plugin 构建
  • cucumber-tests.jar // 由 shade-plugin 构建

Cucumber-tests.jar包含info.cuke依赖项,但不包含executable-tests-1.0-tests.jar.

我做了各种各样的事情来尝试包含测试类,但没有任何效果,我错过了什么?

编辑:如果有人喜欢玩它,我已经将我的示例项目推送到 GitHub :) https://github.com/C0deAttack/ExecutableTests

0 投票
3 回答
450 浏览

eclipse - Maven jar 依赖和关系

我试图搜索现有问题,但找不到任何问题 - 感觉我的问题很简单,但可能是因为它非常具体,我无法在任何地方找到答案。

无论如何 - 我有 2 个 Maven 项目,其中第二个项目取决于/需要第一个类的某些类。在某些情况下,我希望依赖于 JAR 而不是项目依赖。

我通过使用 maven-jar-plugin 创建一个额外的 jar 解决了这个问题,其中包含了所需的类。jar 已正确创建并在 ${project.build.directory} 中输出。但是项目 A 的 pom 位于同一目录中,这对我和项目 B 来说都是痛苦的,原因是项目 A 中使用的依赖项。(有没有办法忽略位于 ${project. build.directory} ??? 喜欢:

)。

现在我将系统范围用于依赖项,并在添加系统路径后正常工作。尽管在任何可能的地方都必须避免使用示波器系统。Systempath 让我很烦,因为这不是一个好习惯,而且因为绝对路径。

我知道我可以通过使用将创建的 jar 安装到存储库中

mvn 安装:安装文件

但我想尽可能地自动化这个过程,你有什么建议?

提前致谢

0 投票
1 回答
1805 浏览

java - 在另一个 Maven 项目中包含一个 Maven 项目的 Jar 不起作用,但在另一个 Maven 项目中包含该项目有效

我有 2 个项目,即Project_1Project_2. 这两个项目都是Maven,我正在使用 Netbeans。

我想包括我正在这样做Project_1罐子Project_2

问题是当我包含 jar 时,我没有收到任何编译时错误,但是NoClassDefFoundError在运行时出现异常。

当我通过执行此处提到的步骤将其包含在内Project_1时。(开放项目示例)。我没有收到任何错误。运行时和编译时都不是。Project_2

你能解释一下我在这里缺少什么吗?

更新

Project_2部署在不在我的本地机器上但Project_1在我的本地机器上的服务器上。

包含在Project_1项目Project_2中是为了在我的本地机器上进行测试。

0 投票
1 回答
1619 浏览

java - maven-jar-plugin 中的 NPE

Maven构建期间发生的错误:

[错误] 无法在项目 cc-distFS 上执行目标 org.apache.maven.plugins:maven-jar-plugin:2.4:jar (default-jar):组装 JAR 时出错:无法读取文件系统属性:/home/user /trunk/src/cc-distFS/pom.xml:引用目录失败:'/home/user/trunk/src/cc-distFS/pom.xml':设置环境变量时出错:NullPointerException -> [帮助1]

maven -X 包

有人知道这是什么意思吗?

PS:

用于模块 cc-distFS 的 pom.xml:

PS:在我制作 fsck 之后,Bug 消失了。

0 投票
2 回答
5000 浏览

maven - maven-jar-plugin,包括上层目录

构建 POM 的一部分

在目标 jar 中,我拥有来自根目录的所有 wsdl、来自根目录的 xsds 和源目录。
但 jar 中没有 configuration.doc 文件。

有任何想法吗?

0 投票
3 回答
9009 浏览

maven - 如何配置 maven jar 插件以排除配置文件上的属性

我的 pom 中有这个配置

我使用配置文件来处理从本地环境到生产环境的不同行为。使用本地配置文件执行 mvn install 时是否可以不激活排除项?我试图像这样在本地环境中设置一个空白属性,但插件抱怨。

0 投票
11 回答
45797 浏览

maven - Maven 未能执行目标 org.apache.maven.plugins:maven-jar-plugin

如下所示,运行时出现错误mvn package

这是我的 pom.xml。我摆脱了不必要的东西,但它仍然没有工作..

0 投票
3 回答
7214 浏览

maven - 无法禁用空 JAR 的生成(maven-jar-plugin)

有时,我的 Talend Open Studio 组件有资源但没有 Java 源(它们是纯粹的元数据组件)。在这种情况下,我需要禁用 JAR 文件的生成。

我以这种方式配置了 maven-jar-plugin:

但我仍然得到 ${project.name}.jar 文件,其中包含 pom.properties、pom.cml、清单和一个仅包含“class {}”的空文件 App.class

虽然我可以使用以下方法禁用所有 Maven 内容的包含:

我仍然得到一个包含清单文件的 JAR

是否有一些配置参数我配置错误?