问题标签 [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.
java - 从 uberjar 中生成过程的问题
当以下 Clojure 示例程序被打包到一个独立的 uberjar(通过 boot-clj)中时,执行的java -jar app.jar
行为与从-main
开发 repl 中调用函数不同。
发生的情况是,结果{:exit 0, :out "test\n", :err ""}
会立即打印到stdout
,但之后需要一段时间,可能是半分钟,直到程序真正退出。
情况并非如此,当程序被修改为只打印一些输出而没有调用时sh
。
在开发repl中,一切都如预期的那样,功能在打印后立即完成。如何解释/解决?
ps aux
更新:这是程序正在花时间完成的同时拍摄的摘录:
maven - 没有为命名空间找到 DestinationFactory - 使用 Jetty 创建 CXF 的 uber JAR
我想为基于 CXF 的应用程序服务器创建一个 uber JAR。我想从命令行运行服务器java -jar
。在 IDE 中,我可以运行主类com.connexta.desertcodecamp.Server
,但我没有正确创建 uber jar。
当我运行命令java -jar server-1.0-SNAPSHOT.jar
时,我得到
这是 POM 文件(和 GitHub 存储库)的链接: https ://github.com/ahoffer/desert-code-camp/blob/master/server/pom.xml
其他帖子引用了缺少的依赖cxf-rt-transports-http
项,但我在 POM.xml 中将其作为依赖项。
maven - Maven 阴影 jar 用作外部项目依赖项
我在我的项目中使用了 maven shade 插件来重新定位一个包下的所有依赖 jar 类,例如 org.shade.*
当我尝试在其他应用程序中使用该阴影 jar 作为 maven 依赖项时,它会提取依赖项 jar。
我的期望是当 uber/shaded jar 包含为 maven 依赖项时,它不应该拉取任何其他依赖的类 jar,因为这些类已经重新打包在 shaded jar 中。
clojure - leiningen uberjar - 在运行时添加外部 jar
我正在尝试查看在制作 leiningen uberjar 时如何将目录和外部 jar 添加到类路径中。
原因是我需要分发一个 jar,但由于许可限制,某些依赖项(例如 jdbc 驱动程序)无法编译到 uberjar 中。
我还想提供某些外部资源,例如 jar 外部的日志记录和配置属性。
通常在 java 或 spring boot 中,我会使用适当的命令行选项来更改类路径。但是 -cp 找不到 jar 等
有没有办法做到这一点或适当的插件?提前致谢
java - 使 Java 应用程序在运行时重新加载其配置文件
考虑一个 Java 独立 uberjar,它充当 HTTP 服务器并作为 Linux 服务运行。它的某些功能取决于外部配置文件,该文件可能会偶尔更改。
我尽量避免在每次配置更改时重新启动应用程序。这怎么能正确完成?我立即想到发送 SIGHUP。这会被java应用程序捕获吗?或者也许还有另一种方法可以实现这一目标?
android - 优步集成登录错误:expired_jwt
我想在我的应用程序中集成 Uber SDK,我收到“expired_jwt”错误。
以下是我的代码:
//用于登录
//然后我得到结果
// UberLoginCallback 类是这样的:
在“onLoginError()”中,我收到错误“expired_jwt”
gradle - 如何使用 gradle 为 spring boot 创建一个可执行的 uber jar?
我知道使用传统的“gradle build”命令,我可以创建 Spring boot 所称的“可执行 jar”。
此 jar 包含 jar 的 lib 文件夹中所需的所有 jar 依赖项。
我需要的是,而不是将依赖项 jar 复制到可执行 jar 内的 lib 文件夹中,我想要一个完整的 uber jar,而不是将其依赖项作为 jar 放在 lib 文件夹中,我需要将它们提取为包/类.
我已经尝试过影子插件但无济于事,而且我看不到如何创建 uber jar,实际上大多数 Spring 用户和文档倾向于将 uber jar 术语与可执行 jar 混合在一起,因此很难让开发人员理解这一点它们是不同的打包策略,即使在运行 java -jar 命令时结果往往以相同的方式运行。
maven - Kryo 库在 maven shade-package 阶段有“重叠类”警告
我正在尝试创建一个阴影 jar 文件,但阴影插件给了我警告。我不知道如何解决它们。
这是我的 pom.xml
警告是:
我也试过了,mvn dependency:tree -Ddetail=true
但这并没有给我任何解决方法的线索:
java - 着色运行应用程序所需的相同依赖项的多个版本
我有一个多项目应用程序,我们使用一个库oshi,它取决于JNA的 4.2.2 版本。在我们的项目本身中,我们使用尚未发布的 4.3.0。我们做出的贡献将在 4.3.0 发布时发布,但我们现在需要它,因此我们目前使用自己构建的分叉版本。
我们使用 maven shade 插件打包所有内容。目前,阴影插件在 uberjar 中使用 4.3.0。
问题是 oshi 在 4.2.2 中使用了一个似乎不在 4.3.0 中的函数。我们使用的接口发生了变化,现在我们得到了 NoSuchMethodError 异常。我们得到的异常如下所示:
所以我需要做的是弄清楚如何在 uberjar 中同时拥有这两个版本。
我已经尝试重新定位4.3.0 版本,但它似乎没有工作(这些类不在任何地方的 uberjar 中)。此外,我发誓我今天早些时候读到(但现在当然找不到)重定位字段中的模式groupId:artifactId[:type][:classifier]
没有版本选项。
我的依赖树的相关部分如下所示:
任何人都可以就如何解决这个问题给我任何建议吗?谢谢!