问题标签 [uberjar]

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

java - Jetty uberjar jndi 数据源配置

更具体地说,我得到了包含所有依赖项的可执行战争。应用程序在没有 jndi 数据源的情况下启动,就像使用 jndi 数据源运行它的魅力一样,但失败了。我相信在这样的配置中没有jetty.xml的位置,所以jetty-env.xml也不行,因为jetty默认不会读取它。我尝试使用 jetty-web.xml 进行 jndi 数据源配置,但 jetty 无法部署应用程序并返回 503 错误代码。我正在使用 Jetty9-M4。尝试了 tomcat pooling 和 BoneCP 都具有相同的结果。

入门班:

码头-web.xml:

我怀疑 jndi 在 jetty-web 阶段或配置为时已晚,这是错误的。

抱歉英语不好。


忘了提我正在使用 Hibernate 作为 ORM。

web.xml 包含:

Hibernate.cfg.xml 包含

尝试过

也不工作。


jetty-web.xml作为你的战争中的一个小注解WEB-INF,它适用于 JNDI 资源配置,默认情况下使用它。

0 投票
1 回答
605 浏览

java - Maven onejar插件,获取属性文件

我正在使用 Maven onejar 插件 ( https://code.google.com/p/onejar-maven-plugin/ ) 创建一个 uberjar。

我想访问位于我的类路径根目录中的属性文件,如下所示:

找到了位于同一目录中的 log4j.properties 文件,因为我可以进行日志记录...我的问题是什么?:/ 但是找不到 Db.properties。

0 投票
1 回答
261 浏览

maven - 在不包含内部 pom 文件的情况下创建 maven uberjar

我有一个 maven 构建设置,但有人要求我对 uberjar 进行一次更改,即不包含 pom 文件,因为它会弄乱我的客户后续构建,该构建使用我的 uberjar 作为依赖项。我知道这不是这样做的方法,但由于安全问题,我的客户无法访问我的中央仓库。因此,uberjar 被确定为一种部署方法。现在的问题是:有没有办法在通过 maven 创建 jar 时不包含 pom 文件?

谢谢,

布莱尔

0 投票
1 回答
463 浏览

java - 如何使用 jarjar 格式组装 maven 项目?

我尝试了一些汇编插件,例如maven-assembly-pluginmaven-shading-plugin但它们都不支持jarjar文件格式。

那么是否有一个 maven 插件可以按jarjar文件格式组装 Uber-Jar?

避免像 [ spring.handlers, spring.schemas]这样的资源冲突很有帮助

0 投票
3 回答
488 浏览

android - Maven 3“uber jar”如何在 jar 中嵌入 jar?

这让我一整天都快要死了。我正在 Eclipse 中研究 android/java。

这就是我想做的

  • 我想嵌入我的一个库 - DatabaseLibrary

  • 在我的另一个库中 - LogicLibrary

至关重要的是 - 无需将 DatabaseLibrary 中的任何方法暴露给有权访问 LogicLibrary 的第三方。


我已经尝试使用这样的 proguard-maven-plugin 包含它

但是,这包括 DatabaseLibrary 中的所有方法,并将它们暴露给第 3 方。

我希望我的 LogicLibrary 能够在没有第 3 方看到它的情况下调用 DatabaseLibrary。

我在网上搜索过,似乎我需要做一个叫做 uber jar 的东西。但是我尝试了一些方法,例如这里提到的 maven-assembly-plugin https://stackoverflow.com/a/1834905/1312937

maven在jar中嵌入依赖工件代码

但是我对此一无所知,看起来它是 maven 2 的答案,所以也许我需要为 maven 3 做一些不同的事情?

谁能告诉我 uberjar 是否是我实现目标的正确方法?如果有其他模式请告诉我,我没有绑定到 Maven。

0 投票
1 回答
216 浏览

java - Java Maven 项目缩小构建

我正在开发一个多模块 Maven 项目。我们创建了一个构建 uber jar 的项目。解压后的 jar 大约 60mb,这对我们的客户来说是个问题。构建完成后,我们可以使用任何工具来删除依赖项中未使用的 .class 文件吗?

另一种选择是,如果我们可以分析运行时加载了哪些 .class 文件并生成这些文件的列表,从而手动从构建中删除其他文件。

干杯,

0 投票
1 回答
604 浏览

maven - Leiningen 重新安装相同版本号后不下载依赖

这真的很重要,我完全被难住了,而且在截止日期前。非常感谢您的帮助。

我有一个名为 red-black 的 Clojure 项目,其中特别包含一个名为 interval_tree.clj 的文件

我一直在用 lein uberjar 编译这个项目,然后通过将它安装在本地 maven 存储库中来在其他项目中使用生成的 jar。

疯狂的是,我添加了一个新函数,编译了我的 jar 并重新安装在另一个项目的本地 maven 存储库中,现在 java 找不到我的新函数

然而这个函数在 red-black.interval-tree.clj 中!我什至进入了我的 local_mvn_repo,解压缩了 jar,并查看了 interval_tree.clj 源代码。功能就在里面!

更奇怪的是,该库中的其他功能是可以访问的。例如,在我使用本地 mvn 存储库的第二个项目中:

现在是一个小标签标签魔术:

但正如您所见,缺少功能树到平面列表。当我回到我的红黑项目并启动 repl 时,我可以调用该项目只是 find。帮助!截至 5 小时前,我正在我的红黑项目中创建新方法,编译我的 uberjar 并通过本地 maven install 将其安装到我的另一个项目中,并且新方法被很好地采用。好像很不对劲,求指教!

更新:

这个问题的一个自包含的例子在这个 tarball 中:

进入 foo-two 和 lein repl。尝试加载 foo-two.core,你应该会看到:

但是 foo-one.core/bar 肯定是定义的!

0 投票
1 回答
244 浏览

clojure - 在openjdk上运行时clojure uberjar抛出错误

我编写了一个 clojure 应用程序,它可以选择加密或解密文件以及源文件名和目标文件名,并执行指定的操作。我使用 clojure-1.5.1 和 oracle 的 Java SE 7 JDK 在运行 xubuntu 13 的 virtualbox vm 中开发了该应用程序。在那个环境中一切都很好,但是当我将 uberjar 复制到使用 openjdk/jre 7 运行 Xubuntu 12.10 的主机系统时,在 cli 解析方面我得到了一些不同的行为。

1) 如果未指定任何选项,应用程序应打印使用横幅。这在开发环境下可以正常工作,但在 openjdk 下,会抛出 NullPointerException。

2) -v 选项应该打印应用程序的构建版本。同样,这在 devel 环境下运行良好,但在 openjdk/Xubuntu-12.10 下,会抛出异常,指出 -v 是无效选项。

这是处理 cli 解析的函数(从 -main 调用):

以下是不带参数运行 uberjar 时的完整异常跟踪:

以及使用 -v 选项运行应用程序时的跟踪:

应用程序的其余功能在两种环境下都按预期工作。

我认为问题源于openjdk7的jre和oracle的SE 7 jre之间的差异,但除此之外我一无所知。具体来说,如果这确实是问题,我想找到一种解决这些差异的方法。

0 投票
1 回答
2723 浏览

maven - maven 构建错误:创建阴影 jar 时出错(访问被拒绝)

我在尝试使用 maven 制作 uberjar 时遇到以下错误,有什么想法吗?

0 投票
2 回答
2012 浏览

java - 有条件地构建 Maven fat jar

我按照使用 maven 构建胖 jar 中的示例进行操作,现在我可以运行以下命令来构建/测试和安装我的 jar。

但是,install现在需要更长的时间,因为我们现在正在构建一个胖罐。是否可以有两个版本的安装,其中一个只构建没有依赖关系的 jar,另一个则这样做,另外构建 fat jar,例如:

我知道install-fatjar这不是一个有效的阶段,但只是想说明我要完成的工作,即仅在提供选项时才构建胖 jar 的条件安装。