如何从类似于 eclipse 的命令行创建可运行的 jar 文件

2024-05-12

我知道 eclipse 会生成一个可运行的 jar 文件,其中提取并包含在该 jar 文件中的所有库 .jar 文件。从命令提示符手动创建 jar 文件时如何执行类似的操作。我需要将所有 lib jar 解压到类文件夹中吗?

目前我正在使用 -

    jar cvfm example.jar manifest.txt -C  Classes/ .

它创建了一个包含所有类文件的 jar 文件,我需要将所有库 jar 放在与 example.jar 存在的同一文件夹中。


没有办法从 jar 命令行实用程序中执行此类操作。依赖问题的解决方案主要有3种:

  1. 在 MANIFEST.MF 中,您可以引用其他 jar 文件作为类路径的一部分,然后人们可以使用以下命令调用您的代码java -jar [just your jar]并且您的依赖项将被拾取
  2. 您可以将代码和依赖项打包到一个 fat jar 中(这就是您所描述的)。通常,您只需将项目转换为使用某些构建工具(比简单的 javac 和 jar 更高级)并配置该工具。例如与行家 http://maven.apache.org/。查看两种不同的方法here http://www.thekua.com/atwork/2008/10/generating-a-single-fat-jar-artifact-from-maven/ and here https://code.google.com/p/maven-fatjar-plugin/
  3. (再次使用构建工具)你可以使用比胖罐子更好的东西 - 使用one-jar http://one-jar.sourceforge.net/。不同之处在于,使用 fat jar 时,您会面临不同库中同名文件“冲突”的风险
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从类似于 eclipse 的命令行创建可运行的 jar 文件 的相关文章

  • 在 Java 中将字符串复制到文件的开头

    我想将一个字符串写入文件的开头 我该怎么做 我根本不知道如何添加字符串 这就是我到目前为止所做的 public static void prepend String filename String data throws IOExcepti
  • java中的散列是如何工作的?

    我正在尝试弄清楚java中的哈希值 例如 如果我想在哈希图中存储一些数据 它是否会有某种带有哈希值的底层哈希表 或者 如果有人能够对哈希的工作原理给出一个很好且简单的解释 我将非常感激 HashMap 基本上在内部实现为数组Entry 如果
  • 我如何知道 std::map 插入成功还是失败?

    我在多线程应用程序中有一个映射 将名为 uuid 的类映射到指针 我想知道插入操作是否成功或失败 e g mymap insert hint MyMap value type entry uuid itemptr 如果失败的话会抛出异常或者
  • Java TCP Echo 服务器 - 广播

    我有一个简单的回显服务器 我希望当连接的用户向服务器键入任何内容时 所有其他客户端和该客户端都会收到消息 MOD 它现在不会发送给所有客户端 但它应该发送 而且我只是不知道我的代码出了什么问题 所以现在它只会将消息 MOD 发送给发送消息的
  • gnutls_handshake() 失败:握手失败 GIT

    一切都工作正常 但突然我收到错误 致命 无法访问 https 电子邮件受保护 cdn cgi l email protection name repo name git gnutls handshake 失败 握手失败 我在我的计算机和 E
  • 具有多个字符串的列表视图

    我正在尝试创建一个包含多个字符串的列表视图 现在我有一个可以实现的功能 while i lt 10 GETS DATA FROM WEBPAGE ETC a DATAFROMWEBPAGE1 b DATAFROMWEBPAGE2 c DAT
  • 使用 JPA 标准的“不在”约束

    我正在尝试写一个NOT IN约束使用JPA Criteria 我尝试过这样的事情 builder not builder in root get property1 虽然我知道这行不通 在上面的语法中 如何添加集合 列表property1会
  • 异步不适用于控制器的抽象超类方法

    我有一个BaseRestControllerRest 控制器扩展的类 它有一个我想异步运行的方法 public abstract class BaseRestController Async someThreadPoolTaskExecut
  • BODMAS系统的加法和减法

    我一直在构建一个简单的公式计算器 但一直被加法和减法困扰 正如您应该知道的 在计算方程时 您遵循优先级算术规则 即括号 顺序 幂函数 除法 乘法 加法和减法 问题是加法和减法具有相同的优先级 因此您可以从左到右阅读 到目前为止 这是我的代码
  • Apache Camel - 路由中的事务

    我有一个关于 Apache Camel 的一般性问题 我无法找到聚合器是否已进行交易 如果是交易 交易是如何实现的 聚合的速度有多快 将消息发送到聚合器可以在事务中运行 您需要一个带有聚合器的持久存储来让传出消息充当事务 请参阅有关持久性的
  • 为什么我在 Java 中收到有关“可能丢失精度”的警告?

    class Test public static void main String args short s 2 s1 200 s2 s2 s s1 error possible loss of precision System out p
  • Thread.interrupt() 和 Thread.interrupted() 到底是如何工作的? [复制]

    这个问题在这里已经有答案了 从设置线程状态的角度来看 我不清楚这两种方法 Java 文档说 Thread interrupt 设置线程中断状态标志 调用 Thread interrupted 方法给出线程的状态并清除该标志 当这在实际场景中
  • CXF 增加连接池大小而不更改 http.maxConnections

    最近我被要求将 CXF 配置为与我们旧的 XFire 服务相同的参数 这些参数之一是Keep Alive timeout 60 max 20 然而 我做了一些研究 看来 CXF 使用 JVMHttpURLConnection引擎盖下的对象
  • 将 JPanel 添加到 JFrame

    我有一个程序 其中将 JPanel 添加到 JFrame public class Test Test2 test new Test2 JFrame frame new JFrame Test frame setLayout new Bor
  • 尝试用Java实现基于文本的Hangman游戏

    我需要检查用户输入的字母以及他们猜测的空格是否位于隐藏单词的特定位置 变量one等于用户猜测的空间索引 而letterGuess是他们猜测的字母 我的代码怎么错了 示例 秘密词是你好 hidden word is 用户猜测h 0 1 2 3
  • 如何根据受保护的 String doInBackground 方法中 AsyncTask 的结果调用 Toast.makeText() ?

    我从 AsyncTask 中的数据库中获取数据 如果它为空 我想吐司一个警告文本 我在 AsyncTask 中尝试过 但我了解到它不是在工作线程中调用的 这是我的 doInBackground 方法 protected String doI
  • 枚举

    我试图拥有一组扩展通用接口的枚举 例如 interface Fooable void someCommonMethod enum E1 implements Fooable some enumuerations and a definiti
  • 在地图中的图块上实现鼠标单击事件

    我正在尝试在 JPanel 上实现图像 基本上是地图上的图块 的鼠标单击事件 我只是不知道该怎么做 我有一个扩展 JPanel 的 Main 类 我正在从图块服务器检索图块 并根据特定的缩放级别在 Main 类的 PaintComponen
  • 项目级别的@PowerMockIgnore

    在 Maven 中运行时 我的 powermock 测试用例出现以下错误 java lang LinkageError loader constraint violation loader instance of org powermock
  • Cassandra 会话与集群 有什么可分享的?

    考虑 Cassandra 的 Session 和 Cluster 类 Java 驱动程序 我想知道有什么区别 在 Hibernate 中 每次都会创建一个会话并共享会话工厂 从许多来源我了解到 它被认为是创建一个会话并在多个线程之间共享它

随机推荐

  • 使用 ggplot 未完全填充等值线图

    我正在尝试使用以下方法绘制我的第一个填充等高线图ggplot 根据我的数据 我期待类似的结果 但我的结果是 a lt c 1 1 1 1 1 3 1 2 2 2 2 2 2 5 2 1 3 3 3 3 1 3 2 b lt c rep c
  • 在 PHP 中验证约 400MB 的大型 XML 文件

    我有一个很大的 XML 文件 大约 400MB 在开始处理之前我需要确保它的格式正确 我尝试的第一件事是类似于下面的内容 这很棒 因为我可以找出 XML 是否格式不正确以及 XML 的哪些部分 不好 doc simplexml load s
  • WebView 不运行 loadHTMLString 中给出的 JavaScript

    我不明白为什么这不起作用 我的桌面上有一个 test htm 文件 如下所示 This is x 2 我有一个 WebVie
  • 如何追踪手柄泄漏?

    在我的一个应用程序中 我观察到句柄数量不断增加 在不使用应用程序的情况下 该数字大约每秒增加一次 因此后台处理代码的某些部分一定存在句柄泄漏 我如何追踪此类泄漏 有什么工具可以帮助解决这个问题吗 跟踪句柄泄漏时要寻找哪些模式 导致手柄泄漏的
  • 获取 Postgres 数据库中每个表的行数

    获取数据库中所有表的行数的最有效方法是什么 我正在使用 Postgres 数据库 结果示例 table name row count some table 1 234 foobar 5 678 another table 32 如果您想要特
  • git分支和标签如何存储在磁盘中?

    我最近检查了我工作中的一个 git 存储库 其中有 10 000 多个分支和 30000 多个标签 新克隆后 存储库的总大小为 12Gigs 我确信没有理由拥有 10000 个分支机构 所以我相信它们会占用磁盘中相当大的空间 所以 我的问题
  • 调用 LWRP 时的 Cookbook 名称前缀

    Summary 我可以使用外部说明书中的 LWRP 而不添加说明书名称前缀吗 例如 如果mycookbook包含mylwrp资源 我该怎么做 include recipe mycookbook Contains mylwrp mylwrp
  • GetX 解绑流

    我正在使用bindStream 函数与GetX封装在控制器内 class FrediUserController extends GetxController override void onReady super onReady fina
  • SSMS 与 Sybase ASE 的连接

    有没有办法使用 Sql Server Management Studio 2008 连接到 Sybase ASE 数据库实例 我尝试使用其他工具进行连接 但它们非常有限 我想使用 SSMS 您可以使用这个工具 SqlDbx http www
  • 如何使用 Google Sheets onEdit() 触发器运行函数来更新 Google Form

    我有一个 Google 表格工作簿 其中有一个工作表 我想用它来保存工作簿和 Google 表单的设置 我做了一个定制onEdit 触发两个函数的函数 一个用于更新工作簿 另一个用于更新表单 function onEdit e var ra
  • jqgrid editoptions:必需的不起作用

    好吧 不确定我在这里做错了什么 list jqGrid url URL datatype json mtype GET colModel label Index index Index key true hidden true label
  • 如何高效地在屏幕上精确绘制N个点?

    这听起来是一个简单的问题 但我发现要获得良好的性能是非常棘手的 我提出的第一个算法是随机绘制点 从一组中检查是否已绘制 否则绘制 如果我们只绘制几个点 那么这种方法效果很好 但当我们接近填满屏幕时 速度会灾难性地减慢 我想出的最好的方法是构
  • Unity IoC 和 MVC 3 Beta - 将 IRepository 传递给控制器​​构造函数

    MVC 3 中有什么变化吗 我已经尝试了互联网上所有将 Unity 设置为我的 IoC 容器的示例 但我不断收到错误消息 指出 Unity 无法解析我的 UserController 这是我的 UserController 上的构造函数 p
  • 如何在powershell中将一个大文本文件拆分为多个文件

    你好 我有一个像这样的大文本文件 BIGFILE TXT COLUMN1 COLUMN2 COLUMN3 COLUMN4 COLUMN5 COLUMN6 COLUMN7 COLUMN8 11 24 2013 50 67 51 22 50 6
  • 如何根据 Pyspark 中另一列的表达式评估有条件地替换列中的值?

    import numpy as np df spark createDataFrame 1 1 None 1 2 float 5 1 3 np nan 1 4 None 0 5 float 10 1 6 float nan 0 6 floa
  • 如何在 IntelliJ IDEA 中使用新的应用程序运行配置 UI 包含提供的依赖项?

    用于运行 java 应用程序的新 IntelliJ IDEA 2020 3 界面中的 包含提供范围的依赖项 复选框在哪里 在早期版本中它存在 然后突然消失 修改选项 使用模块的类路径 单击该模块 启用包含具有 提供 范围的依赖项复选框 为相
  • 忽略Python字符串中的大小写[重复]

    这个问题在这里已经有答案了 在Python中比较字符串 忽略大小写 的最简单方法是什么 当然可以这样做 str1 lower 我想我正在寻找与 C 的 stricmp 等效的函数 需要更多上下文 所以我将用一个简单的例子来演示 假设您要对一
  • Select2 4 自定义数据适配器

    我正在尝试根据此处的示例创建自定义数据适配器 http select2 github io announcements 4 0 html query to data adapter http select2 github io announ
  • jQuery:如何检查一个元素是否是最后一个同级元素?

    如何检查一个元素是否是最后一个兄弟元素 对于连续的最后一个单元格 我想执行不同的操作 这不起作用 td each function var this this if this this parent last td alert 123 如果
  • 如何从类似于 eclipse 的命令行创建可运行的 jar 文件

    我知道 eclipse 会生成一个可运行的 jar 文件 其中提取并包含在该 jar 文件中的所有库 jar 文件 从命令提示符手动创建 jar 文件时如何执行类似的操作 我需要将所有 lib jar 解压到类文件夹中吗 目前我正在使用 j