如何在 CLI 上运行 Maven 生成的 jar

2023-11-22

我正在尝试让 Maven 管理的项目在命令行上运行。

我在 pom.xml 中有一组依赖项,随后将其下载并安装在 ~/.m2/repository/ 中。我已在 pom 中包含必要的配置,以将类路径添加到 jar 清单中。

现在的问题是我尝试运行该 jar:java -jar project-SNAPSHOT.jar。

Java找不到下载的依赖项(我假设是因为它们在清单中列出时没有路径?),但我不确定如何最好地运行它。


选项1:
创建的jar没有依赖的jar文件。因此,您需要告诉 java 所有依赖 jar 所在的类路径

    java -cp /lcoation/of/dependency1.jar:/location/of/dependency2.jar:/location/of/dependency3.jar -jar project-SNAPSHOT.jar

选项2:
更简单、更好的解决方案是使用AppAssembler插入。它的作用是将你的 jar 包打包到一个目录结构中,其中包含

  1. 依赖罐子
  2. 创建的罐子
  3. shell/windows 脚本来执行它

看看这里http://www.mojohaus.org/appassembler/appassembler-maven-plugin/

选项 3:
如果您不想要所有行李而只想拥有一件jar-with-dependency您可能想参考这里如何使用 Maven 创建具有依赖项的可执行 JAR?

这将包含其中的所有依赖 jar。


Edit 1:对于选项 1,Brad M提到您可以使用以下命令获取所有项目部门的列表依赖插件. dependency:build-classpath

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 CLI 上运行 Maven 生成的 jar 的相关文章

随机推荐

  • 围绕零值自动构建色彩图

    我经常想绘制一张范围从负数到正数的差异图像 问题在于 matlab 的颜色图仅从最小值到最大值缩放 但不关心某些中间值 本例为零 例如 我制作了peaks具有单个像素不同的图像 原来的样子是这样的 所以零值在顶部图像是蓝色的 在底部是绿色的
  • 当 help() 列出方法签名时,斜杠意味着什么?

    什么是 Python 3 4 中的意思help输出为range右括号之前 gt gt gt help range Help on class range in module builtins class range object range
  • 三角形连接区域

    考虑以下形状 灰色区域是外部容器 忽略这一点 白色区域是一个链接 a tag 红色三角形区域是另一个链接 a tag 我使用以下代码为红色区域创建了一个 CSS 三角形 ribbon position absolute right 0 bo
  • 从简单 HTTP 服务器中的每个文件中删除 .html 扩展名

    我想做到这一点 以便当有人访问我的 Go HTTP 服务器上的页面时 他们不会看到 html扩大 例如 当他们访问时https example org test他们会看到的内容https example org test html My c
  • 创建/获取自定义 kubernetes 资源

    我想用 go 创建一个自定义的 kubernetes 资源 该应用程序部署在kubernetes集群中 我想创建例如以下资源 apiVersion configuration konghq com v1 kind KongPlugin me
  • CouchDB从XMLHttpRequest跨域访问?

    目前 Web 应用程序需要提供某种跨域 HTTP 标头来访问其他域上的数据 http openfontlibrary org wiki Web Font linking and Cross Origin Resource Sharing 有
  • Xcode 6.1 上架构 x86_64 的未定义符号

    突然 Xcode 在编译时抛出了这个错误 Undefined symbols for architecture x86 64 OBJC CLASS Format referenced from objc class ref in WOExe
  • 如何在 C 中将无符号字符数组转换为十六进制字符串

    是否可以将无符号字符数组表示为字符串 当我搜索它时 我发现只有 memset 能够做到这一点 但是逐个字符 假设这不是正确的方法 有没有办法进行转换 上下文 我试图存储加密哈希函数的输出 该函数恰好是一个无符号字符数组 eg unsigne
  • Eclipse 中如何自动删除尾随空格?

    这个问题有两个部分 其中之一我已经有了答案 如何自动删除尾随空格从正在编辑的整个文件 gt 答案 使用任意编辑插件 可以设置为在任何保存到文件时执行此操作 如何自动删除尾随空格仅从我改变的线条来看 gt 这我不知道 希望得到任何帮助 我假设
  • 汇编语言有多不可移植,/真的/?

    我知道用汇编语言编写任何内容或将汇编语言添加到任何程序都会损害其可移植性 但是 有多糟糕呢 我的意思是 现在基本上所有 PC 都是 x86 或 x64 对吧 那么 如果我将汇编嵌入到 C 程序中 为什么无论它去了哪里它仍然无法编译 这种不可
  • 致命错误:Dictionary 不符合 Decodable,因为 Any 不符合 Decodable

    我正在尝试使用 swift 4 解析本地 json 文件 success true lastId null hasMore false foundEndpoint https endpoint error null 这是我正在使用的功能 f
  • 如何使单个事件处理程序处理所有 Button.Click 事件?

    在我的程序中 我有 9 个按钮 每个按钮都有 9 个独立的事件处理程序 尽管每个事件处理程序中的代码是相同的 事实证明 更改所有这些代码是非常乏味的 是否可以创建一个 Button Click 事件处理程序来处理所有按钮的 Button C
  • LLVM、GCC 4.2 和 Apple LLVM 编译器 3.1 之间的区别

    LLVM GCC 4 2 和 Apple LLVM 编译器 3 1 之间的主要区别是什么 我对编译器相当陌生 因此非常感谢您的帮助 此外 我对这两个编译器如何影响游戏性能特别感兴趣 差异在于技术和速度 当 Apple 开始从 GCC 的编译
  • Android Studio 上未安装 Android SDK

    根据我的最后一个问题 我从此链接下载了 Android Studio 不含 SDK 2 2 3 0 https dl google com dl android studio install 2 2 3 0 android studio i
  • boost序列化异常:未注册类,序列化多态基问题

    我一直在阅读 交叉引用 但最终没有找到连贯的例子和答案 我想做的事情非常简单 但我显然错过了一些东西 用英语 我有一个带有两个抽象基的类结构 纯 BB 派生自纯 AA 我将其管理为 std vector
  • 为什么我的旋转 GIF 在 jQuery ajax 调用运行时停止?

    我刚刚开始摆脱 ASP NET UpdatePanels 我使用 jQuery 和 jTemplates 将 Web 服务的结果绑定到网格 一切正常 事情是这样的 我试图在刷新表时显示一个旋转器 GIF 类似于 ASP NET 中的 Upd
  • Qt4 中的析构函数

    我对在 Qt4 中使用析构函数感到非常困惑 希望你们能帮助我 当我有这样的方法时 Des 是一个类 void Widget create Des test new Des test gt show 我怎样才能确保这个小部件在关闭后会被删除
  • NSOperationQueue 如何等待两个异步操作?

    如何让 NSOperationQueue 或其他任何东西 等待两个带有回调的异步网络调用 流程需要看起来像这样 Block Begins Network call with call back block begins first netw
  • pygtk 窗口,带有忽略所有 X(鼠标)事件的框(让它们通过)

    我想执行以下操作 创建一个全屏 始终位于顶部的 pygtk 窗口 其中包含显示一些 html 的 webkit 小部件 但带有一个完全透明的框 以便下面的窗口可见 这似乎是可能的 是否可以使用 WebKit 在清晰的背景上渲染网页内容 我想
  • 如何在 CLI 上运行 Maven 生成的 jar

    我正在尝试让 Maven 管理的项目在命令行上运行 我在 pom xml 中有一组依赖项 随后将其下载并安装在 m2 repository 中 我已在 pom 中包含必要的配置 以将类路径添加到 jar 清单中 现在的问题是我尝试运行该 j