java - 我是否需要签署我的 .jar 应用程序文件才能让它们在 OS X 或 Windows 中运行?

标签 java macos sign

我几乎完成了我的第一个 Java 应用程序并将其编译为 .jar(在随附的“lib”文件中有第二个 .jar)。令我惊讶的是,这个完全未签名的应用程序在我的 Mac (OS X 10.11 El Capitan) 上运行时甚至不需要管理员密码。这让我感到惊讶,因为

  1. 以前在 Mac 上安装应用程序时,我总是需要输入管理员密码,并且
  2. 我认为 SIP 应该阻止未签名的应用程序运行。这是我用于大部分编程和编译的同一台机器。

所以我的问题是:

  • 我的未签名 Java 应用程序可以在安装了兼容 JRE 的任何 Mac 上运行吗?
  • 如果不需要,我需要 Apple 的签名 key 和证书吗? Windows(实际上还有 Linux)怎么样(似乎很多人一直难以让 .jars 在 Windows 10 中运行)?

我应该提一下,无论如何我都会尝试对应用程序进行签名,以安抚用户并避免人们冒充恶意软件作为我的程序的危险。对于这一切,我完全是个新手!

最佳答案

您不需要 super 用户权限的原因是您实际上并不是在运行一个应用程序,而只是使用不同的参数调用一个现有的应用程序 (java)。

java 是安装在您的机器上并且已经签名的应用程序。就操作系统而言,您的 jar 文件只是您提供给 java 的数据文件。

把它想象成解压缩文件或查看文本文件 - 使用的应用程序不同于它操作的文件

关于java - 我是否需要签署我的 .jar 应用程序文件才能让它们在 OS X 或 Windows 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35204289/

相关文章:

c++ - libmpc-dyld : Library not loaded - Reason: image not found

javascript - 检查 Button press 和 Enter press

windows - 为什么在 Mac 上编译 TypeScript 比在 PC 上快得多?

Android facebook key 哈希

node.js - 如何在node.js中使用crypto.createSign和DiffieHellman私钥?

java - 从 udp 跟踪器中获取没有播种机和水蛭的抓取

java - 有什么方法可以将 Open Office 嵌入到我的应用程序中?

java - 制作游戏时敌人数量/速度会以一定的分数增量自动增加 - 如何逻辑地实现?

java - Hibernate @OneToOne 不映射 id

bash - 如何要求 Cocoa 应用程序从终端运行一个操作然后返回结果