从命令行运行 JAR 文件并指定类路径

2024-01-08

我整理了一个JAR http://en.wikipedia.org/wiki/JAR_%28file_format%29文件并在清单中指定了主类(我使用了 EclipseExport功能)。我的依赖项都在标记为的目录中lib。我似乎无法得到关于如何执行 JAR 文件的直接答案,同时指定它应该使用lib/*作为类路径。

我试过了:

]$ java -jar -cp .:lib/* MyJar.jar
]$ java -cp .:lib/* -jar MyJar.jar
]$ java -cp .:lib/* com.somepackage.subpackage.Main

etc...

每个都会给出一个错误:

Error: Could not find or load main class ....

或给出NoClassDefFoundError表明未找到库。

我什至尝试重新制作 JAR 文件并包含lib目录和内容,但仍然没有骰子......

如何从命令行执行 JAR 文件并指定要使用的类路径?


当您指定-jar那么-cp参数将被忽略。

From 文档 http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html#jar:

当您使用此选项时,JAR 文件是所有用户类的源,并且其他用户类路径设置将被忽略。

您也不能将所需的 jar 文件“包含”到另一个 jar 文件中(您需要提取它们的内容并将 .class 文件放入您的 jar 文件中)

您有两个选择:

  1. 包括来自的所有 jar 文件lib目录到清单中(您可以在那里使用相对路径)
  2. 指定所有内容 (包括你的jar)在命令行上使用-cp:
    java -cp MyJar.jar:lib/* com.somepackage.subpackage.Main
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从命令行运行 JAR 文件并指定类路径 的相关文章

随机推荐

  • 我的模板类中是否可以有一个静态成员变量,而该类的用户不必知道它?

    我有一个模板化容器类 类似于这个玩具代码 template
  • 使用res中的文件在libgdx android中加载纹理?

    在 LibGdx 中 纹理图像存储在 asset 文件夹中并使用以下代码加载 Texture texture new Texture Gdx files internal image someImage jpg 我对不同的屏幕分辨率有不同的
  • Eclipse 崩溃,ieframe.dll

    我正在将 Tizen IDE 用于可穿戴设备 在选择新的空工作区后它崩溃了 有什么想法吗 我有最新的 Internet Explorer A fatal error has been detected by the Java Runtime
  • 为什么我应该在评论表单中使用 BBCode 而不是 HTML?

    我正在用 PHP 编写一个评论解析函数 由于 BBCode 不是真正的标记语言 所以我从来不喜欢它的写作风格 因此 我让访问者能够在评论表单中使用基本的 HTML 代码 在发布时 PHP 将检查不允许的和无效的标签 属性 并替换或删除它们
  • 由于不活动而导致会话超时[重复]

    这个问题在这里已经有答案了 我创建了一个脚本login php我在那里创建了一个名为的会话变量logged in SESSION logged in true 由于不活动 会话过期后 我无法找到一种重定向到我的 logout php 的方法
  • 是否可以在 qmake 中向 Makefile 添加依赖项?

    目前 我有一个文件 其中包含一些版本标记信息 该信息由 pro 文件使用并由 qmake 解析 但问题是当该文件更改时 qmake 不会重新运行 是否可以向 pro 文件添加一些内容 以便 qmake 将该文件视为 Makefile 的依赖
  • 如何在表单中使用 RecId 作为外键

    我有一个项目表 每个项目都引用另一个表中的另一个项目 我们会说这些项目是人 而相关的项目是最喜欢的食物 表 A 鲍勃 1 莎莉 1 苏 3 表 B 1 苹果 2 香蕉 3 橙子 人 通过 People 表中引用的食物 RecId 与他们最喜
  • 修改响应体改造2.2拦截器

    我正在开发一个使用 Retrofit 2 来请求 API 的应用程序 该API位于ASP NET中 使用GZip进行压缩并编码为Base64 如下代码所示 private static string Compress string cont
  • 当使用 Node 的 fs.readFile() 时,我应该在路径前面加上 __dirname 吗?

    Example fs readFile path join dirname path to file callback versus fs readFile path to file callback 两者似乎都有效 所以我想知道我是否可以
  • CodeIgniter 会话帮助,cookie 不安全?

    我刚刚开始学习会话 出于我的目的 我想创建一些东西 根据客户端的每个请求 服务器验证该用户 然后才为该用户执行数据处理 然而 我见过很多 CodeIgniter 的例子 其中会话的设置如下 this gt load gt library s
  • 通过附加功能和屏幕旋转

    此类问题会定期出现 抱歉 如果之前已经介绍过这个问题 但我是新手 找不到合适的答案 它涉及班级和活动之间沟通的正确实施 我制作了一个画廊应用程序 它有 3 个主要活动 Main一 使用模式搜索文件名 AThumb一 在网格视图中显示与模式匹
  • QVector 与 QList

    我有一个需要迭代的整数列表 但数组是不够的 两者有什么区别vectors and lists在选择类型之前我需要了解什么吗 需要明确的是 我已阅读 QT 文档 但这是我所知道的范围 QList
  • Google Chrome 不会在控制台中显示错误

    我正在使用 Chrome 进行调试 可能它已更新或发生了一些事情 但现在我看不到我的应用程序的错误消息 它只显示有多少错误 如下所示 我想必须更改某些设置 但不知道在哪里以及如何更改 如何更改以获取错误消息 我没有找到这个问题的原因 但点击
  • 为什么 foreman gem 忽略 PORT 环境变量?

    我希望 foreman gem 使用我的开发环境文件中提供的 PORT 值 而不是使用它自己的值 我的文件设置如下所示 启动 foreman 的 bash 脚本 工头启动 edevelopment env development env 文
  • kotlin中如何通过反射获取参数名称?

    java8 有 parameters 参数 传递给编译器 那么 kotlin 呢 正如我所看到的 kotlin 编译器将带有参数名称的 JetValueParameter 注释添加到参数中 但其中一个已被废弃 Update Reflecti
  • 了解 JavaScript setTimeout 和 setInterval

    我需要一些帮助来理解和学习如何控制这些功能来完成我想要它们做的事情 基本上 我有 Java 背景 并通过 Pong 游戏 项目深入研究 JavaScript 我已经设法通过 setInteval 每 20 毫秒调用我的主游戏循环来运行游戏
  • TeamCity 休息 API

    如何获取 teamcity 构建的变化 我得到以下 URL 其中列出了所有构建更改 并提供了一个我们可以查看更改的 URL http teamcityserver httpAuth app rest changes buildType id
  • 如何在 ASP.NET 中获取“YYYY-MM-DD”格式的当前日期?

    如何在 ASP NET 中获取 YYYY MM DD 格式的当前日期 您使用的是哪个 WebControl 你试过了吗 DateTime Now ToString yyyy MM dd
  • 这两段代码有什么区别吗?

    include
  • 从命令行运行 JAR 文件并指定类路径

    我整理了一个JAR http en wikipedia org wiki JAR 28file format 29文件并在清单中指定了主类 我使用了 EclipseExport功能 我的依赖项都在标记为的目录中lib 我似乎无法得到关于如何