我几乎完成了我的第一个 Java 应用程序并将其编译为 .jar(在随附的“lib”文件中有第二个 .jar)。令我惊讶的是,这个完全未签名的应用程序在我的 Mac (OS X 10.11 El Capitan) 上运行时甚至不需要管理员密码。这让我感到惊讶,因为
- 以前在 Mac 上安装应用程序时,我总是需要输入管理员密码,并且
- 我认为 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/