问题标签 [onejar]

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

scala - 启动使用 one-jar 创建的 jar 时出错

我有一个 sbt 项目,应该创建一个可运行的 jar 文件。虽然正确创建了 jar,但启动它时会引发异常:

我认为这是一个奇怪的错误,因为该类应该在标准库中。我也尝试用程序集构建一个 jar 文件,这会产生同样的问题。

这是我的 build.sbt

0 投票
2 回答
4735 浏览

maven - Maven Java application crashes when running from command line but not from within the Netbeans IDE

Edit: Question Rewritten:

I created a new minimal example to illustrate my problem. First here is the source code of a simple class App.java:

Second, Here is the pom.xml file of the project

Third, I have my log4j.xml under src/main/resources folder:

OK, building the application and running in Netbeans works perfectly as expected logging out into both the console and a file under the log directory.

However, running from command line (both the normal jar and oneJar) doesn't work as you can see below:

java -jar testlog4j-1.0.jar

java -jar testlog4j.1.0.one-jar.jar

Your help is highly appreciated.

0 投票
1 回答
139 浏览

maven-3 - 将 maven-onejar 生成的 jar 移动到自定义位置

我正在使用onejar-maven-plugin为我的项目生成 jar,一切顺利。但是,当我尝试将其更改为子文件夹时,例如。distmaven-jar-plugin生成的jar,而不是onejar的jar。

onejar 插件没有输出目录选项。

如何将 onejar 生成文件的输出目录更改为子文件夹,例如。dist?

0 投票
1 回答
2219 浏览

java - Gradle:如何使用 one-jar 输出作为 launch4j 的输入

我想创建一个 exe 文件,而不必将所有必需的库放在 exe 旁边。以前使用 ant,我用 one-jar 创建了一个自包含的 jar 文件,然后使用 launch4j 将其包装到一个 exe 文件中。

Gradle 有两个插件和独立插件都可以很好地工作,几乎不需要配置。

但是我怎样才能设法使用创建的 one-jar 作为 launch4j 的输入呢?

这是我当前的构建文件:

0 投票
1 回答
64 浏览

maven - Maven Jar 需要两个执行上下文

我需要能够允许我的 Maven 包在两种情况下执行。

  1. 用户需要从命令行执行 jar 以从用户执行 java -jar myjar.jar 时出现的 AWT 对话框生成许可证密钥

  2. 当客户端项目将 myjar 作为依赖项引用时,myjar 还需要下载其所有传递依赖项(以“正常”的 maven 方式)。

场景 1 需要将 AWT 表单 jar 打包,以便弹出 AWT 对话框。
方案 2 要求在构建客户端项目时下载所有其他依赖项。

我如何包装它以使其尽可能小?

我已经独立尝试了 jar-plugin、shade-plugin 和 assembly-plugin,但运气不佳。

JAR-PLUGIN:
将 forms-1.2.1.jar 放在 lib/ 目录中并将其添加到类路径中不起作用,因为 java -jar myjar.jar 不会在命令行中加载它

SHADE-PLUGIN:
下载互联网。如何排除一些依赖项?

ASSEMBLY-PLUGIN:
下载互联网。如何排除一些依赖项?

有没有办法打包 forms-1.2.1.jar 的传递依赖项(对于场景 1)但在打包时排除所有其他依赖项,以便在客户端项目构建时下载它们(对于场景 2)。

jar-plugin 或 assembly-plugin 可以做到这一点吗?

0 投票
0 回答
325 浏览

sbt - How to skip executing tests in assembly with sbt-onejar?

Can someone help troubleshoot this project file for the reason why tests always run despite having test in assembly := {} there?

0 投票
1 回答
466 浏览

hibernate - JPA 和 One-jar

我有一个使用 JPA 和 Hibernate ORM 4.3.8 的应用程序。

当我将此应用程序及其依赖项打包到带有一个 jar 的单个可执行 jar 并尝试创建 EntityManagerFactory 时,Hibernate 会抛出此异常:

我正在使用 onejar-maven-plugin 版本 1.4.5 来生成 myapplication-one-jar.jar

我非常感谢有关解决此问题的方法的建议。这里有两个可能的选项:

  1. 使用 one-jar 以外的工具创建可执行的 fat jar。替代品可能有同样的问题。
  2. 创建一个与此类似的自定义类加载器,但我找不到让 JPA 和 Hibernate 使用此类加载器的方法。

谢谢你。

0 投票
1 回答
402 浏览

scala - 创建 jar 后读取 xml 文件的问题

我们正在使用ScalaFX. 当我在 IntelliJIDEA 中运行项目时,一切正常。但是,当我创建 jar 文件并尝试执行它时,我在读取一些 xml 文件时遇到错误。我尝试了 SO 中发布的各种解决方案,但没有用。

xml 文件( Home.fxml) 放在com/app/adt包中。我正在使用sbt-one-jar.

我尝试了不同的路径组合,但总是给出相同的错误。

错误堆栈:

罐子结构:

另外,我尝试过使用sbt-assembly而不是sbt-one-jar. 但是,仍然得到同样的错误。:(

在 SO 中尝试了以下答案:

第一季度

第二季度

0 投票
2 回答
115 浏览

java - maven 用户库未打包在我的可运行 jar 中

我现在正在编写 Java 一年,不得不从以前的程序员那里接手几个项目。自从我在 1998 年开始使用 .NET 编程以来,我并不是一个编程新手。现在对于一个 Java 项目,我需要支持一个基础库的 24 个版本(和上升版本)(所有相同的结构,但它们特定于一个版本第三方申请)。两天前我开始使用 Maven,并在一个小型演示工作区上进行了尝试,以学习 Maven 并使所需的东西正常工作。每个支持的版本都有几个我封装在用户库中的 jar。要进行构建,我需要将此库修改为正确的版本,并将项目导出为 Runnable-Jar(由于许可证要求,所有内容都包含在 jar 中)。所以我创建了我的第一个 POM,它是:

如您所见,我有两个配置文件。一个用于 v8.1,一个用于 v7.0。

我的“构建”流程:我首先在 libraryProject 上运行“mvn install”。然后我在主项目上运行'mvn package'。此版本将 v8.1(默认配置文件)构建为可运行的 jar,其中包含除用户库之外的所有依赖项。下一个调用是“mvn package -PPPC_7.0”,它在没有用户库的情况下构建 v7.0。

所以我的问题是:我可以更改/做错什么,以便将用户库添加到每个配置文件的可运行 jar 中?

在此先感谢,

PS:我正在使用 Eclipse Luna(Java EE IDE)

0 投票
3 回答
1156 浏览

java - 如何使用 onejar Maven 插件在清单中设置其他类路径条目?

有没有办法使用 onejar-maven-plugin 将任意类路径条目添加到 JAR 文件清单?

我找到了配置 maven-jar-plugin 来执行此操作的方法,但似乎 onejar-maven-plugin 没有这样的选项。

这样做不是为了查找其他类(否则为什么要使用 onejar 插件,对吗?),而是为了找到必须在 JAR 外部的配置文件。

是否有直接的解决方案或解决方法?