如何在清单文件中指定依赖项,然后将其包含到我的 .jar 文件中?

2023-12-09

我通过以下命令生成了 .class 文件:

javac -cp \directoryName\external.jar myPackageDirectory\First.java myPackageDirectory\Second.java

我需要使用-cp在编译期间,使用“外部”库(external.jar)的 .jar 文件的名称,以便能够从我的代码中使用该库。


使用我的 .class 文件,我通过以下方式生成了 .jar 文件:

jar cfm app.jar manifest.txt myPackageDirectory\*.class

manifest.txt仅包含一行:

Main-Class: myPackageName.First

我的问题是我不确定是否能够在其他计算机上运行我的 .jar 文件。我认为是这样,因为在编译期间我指定了外部库的 .jar 文件的位置。因此,我的 .class 文件(包含在 .jar 文件中)将尝试在特定目录中查找外部库的 .jar 文件,并且不能保证外部库的 .jar 文件位于同一目录中就像在我的电脑上一样。


听说上面的问题可以通过

我使用的 MANIFEST 文件 包括在我自己的罐子里,这将 列出依赖位置

但我不明白它是如何工作的。我确实需要在编译阶段指定“external.jar”的位置(否则编译器会抱怨)。


首先:你似乎没有编译一个名为MainClass并且您所有的 .java 文件似乎都在一个包中,所以我假设MainClass只是一个占位符,您实际上在这里使用了正确的类名。

你需要指定一个Class-Path header这提到了你的外部 .jarmanifest.txt并将 .jar 文件与您的 jar 一起交付。你需要这样做此外来指定-cp在编译时。

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

如何在清单文件中指定依赖项,然后将其包含到我的 .jar 文件中? 的相关文章

随机推荐

  • 如何使用React + ES6 + webpack导入导出组件?

    我正在玩React and ES6 using babel and webpack 我想在不同的文件中构建多个组件 导入到单个文件中并将它们捆绑在一起webpack 假设我有一些这样的组件 我的导航栏 jsx import React fr
  • 获取 django 预订中的客人数量

    如果每个用户参加一个活动 他们都可以进行预订 但每个活动只有一定数量的开放空间 我想在活动中显示 10 个席位中还剩下 5 个 我似乎无法找到已预订且状态为 活跃 或 待定 的客人总数 这是我的事件模型 class Events model
  • 安装rubberduck后看不到插件?

    我是 ruby duck 的新手 已经安装了最新版本 2 0 11 安装管理员后 我转到 excel 并检查我的 com addins 它现在确实显示了rubberduck 我检查了我的程序数据文件夹 是的 rubberduck 包含所有文
  • 使用findText在谷歌应用程序脚本(documentApp)中使用正则表达式分割文本

    在谷歌文档 不是电子表格 中 我有一堵文字墙 看起来像 foo bar header foo bar bat paragraph and another paragraph and yet an other paragraph and so
  • Android:删除项目(ListView)

    我想从中删除一个项目ListView 但我不知道该怎么做 这是我的代码 public void FLYNOTE refresh int i SharedPreferences Pref getSharedPreferences nnote
  • FileProvider.getUriForFile 返回 null

    我正在尝试在设备的相机中拍照 当我调用处理图像捕获的方法时 应用程序由于空指针异常而崩溃 我不知道我的 FileProvider 缺少哪些信息 因为堆栈跟踪将空指针指向我的 FileProvider getUriForFile 语句 这是我
  • 有没有更好的方法来更改 php 中的 DOMElement->tagName 属性?

    我刚刚遇到了为我的 MVC 框架构建 Textbox 控件的情况 在完成整个文档之前 我对继承自 ServerTag 又继承自 DOMElement 的所有内容调用 PreRender 我发现更改 DOMElement 派生对象的 tagN
  • 同步以确保另一个线程可以看到对不可变对象的引用

    我刚刚在学习this了解新 JMM 中最终字段的行为 5 及以上 这个概念很明确 在正确构造对象后 保证初始化的最终字段对所有线程的可见性 但在本节的最后 我读到了这一点 这让我很困惑 现在 说了所有这些 如果在一个线程构造一个不可变对象
  • Google Chrome 中未定义 Map()

    我一直在寻找答案 但只得到有关 Google 地图 API 的结果 我正在尝试使用 JavaScript 中的映射将整数映射到字符串 在 Firefox 中一切正常 但在 chrome 中我在控制台中收到一条错误消息 未捕获的引用错误 地图
  • 为什么这个 PHP 相关包含失败?

    disc puff php ls a php data include disc puff php tree a php data d php include b php c php 2 directories 4 files disc p
  • C#/C++ 之间的编组复杂结构

    我正在尝试从 C 填充结构数组并将结果传递回 C 我想也许创建一个具有结构数组的结构可能是前进的方向 因为我遇到的大多数示例都使用结构 但传递基本类型 我已经尝试过以下方法 但到目前为止还没有运气 在以下位置找到了一个示例 http lim
  • YASM:vmovaps 指令导致分段错误

    Problem movaps给我一个分段错误 Context x86 64指令vmovaps设计用于与 Core i 系列处理器 我正在运行该系统 上的 AVX 寄存器一起使用 AVX 寄存器的宽度是 SSE 寄存器的两倍 分别为 256
  • 带环回的文件上传

    我使用 Loopbackjs 创建了一个简单的文件上传应用程序 在应用程序的客户端中 我使用了简单的 HTML 和 Javascript 代码 通过 AJAX 调用来调用环回 api upload input on change funct
  • 无法在我的 .NET Core 单元测试项目中加载文件或程序集 Microsoft.AspNetCore.Mvc.ApiExplorer

    我在 NET Core 解决方案中有两个项目 TestWebApp 典型的 ASP NET Core 2 2 Web 应用程序 单元测试应用程序 我的单元测试应用程序正在抱怨运行时期间有许多文件丢失 我想知道为什么当我认为这些文件应该通过以
  • 强制驱动程序在使用“--deploy-mode cluster”运行的 Spark 独立集群中的特定从属设备上运行

    我正在运行一个小型 Spark 集群 带有两个 EC2 实例 m4 xlarge 到目前为止 我一直在一个节点上运行 Spark 主节点 在另一个节点上运行单个 Spark 从节点 4 核 16g 内存 然后在主节点上以客户端部署模式部署我
  • 如何使用 java.io 包重命名文件?

    如何使用重命名文件java io包裹 File oldfile new File old name File newfile new File new name boolean Rename oldfile renameTo newfile
  • 如何避免使用 MinGW64 编译“msvcrt.dll”?

    我有一些 C 代码 可以编译到各种平台 即 Linux 32 64 位 Windows 32 64 位 对于Windows部分 我使用mingw w64包提供的最新gcc编译器 我遇到的麻烦是32位编译拖累了微软通过msvcrt dll提供
  • SQL SERVER选择行[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 如果我有下面这个表 id time start 08 00 AM stop 09 00
  • WAMP 服务器不显示图像

    我遇到了一个问题 我不知道在谷歌中搜索什么 基本上我已经安装了WAMP服务器并安装了OPen Cart 我可以在本地计算机上查看我的电子商务网站 但当我在远程计算机上打开它时 它不会加载任何图像 它只显示文本 我的场景 如果我加载 PHP
  • 如何在清单文件中指定依赖项,然后将其包含到我的 .jar 文件中?

    我通过以下命令生成了 class 文件 javac cp directoryName external jar myPackageDirectory First java myPackageDirectory Second java 我需要