在哪里把bouncycastle jar有它是一个加密服务提供商与Java JDK?



我在Windows 10上安装了Java SE Development Kit 16.0.2,看起来Java二进制文件已经安装到C:Program FilesCommon FilesOracleJavajavapath上了。

我想安装BouncyCastle作为加密服务提供商,这样做我想我需要把Jar文件在java-home/jre/lib/ext/目录。在C:Program FilesCommon FilesOracleJavajavapath上没有jre目录,也没有lib目录。

那么我把Jar文件放在哪里呢?

简短的回答:对于你运行的每个应用,你都显式地设置了类路径。你只需要确保充气城堡的罐子在里面。

但是,没有bootclasspath吗?

是的;它含有像java.lang.String这样的物质。在没有黑客行为的情况下,您无法更改JDK,使其引导类路径上的内容超过标准集。你不会想要这种粗俗的。

扩展机制如何?

已不存在

那么CLASSPATH环境变量呢?

过去时代的遗迹。所有java应用程序都是通过显式指定类路径的启动器、ide或构建工具启动的(在这种情况下,CLASSPATH会忽略env变量),或者通过启动jar启动,jar会在其清单中定义自己的类路径,同样,CLASSPATH也会被忽略。Java仍然支持CLASSPATH环境变量。但是,任何使用JVM运行的应用程序都不应该使用它。Java支持java.util.Vector,即使在jdk16中也是如此。不代表你应该用它

但是我想要一个java应用程序,我没有写使用bc。

这通常是不容易做到的。我们回到一些相当具体的hack。

如何制作一个使用bc的jar ?

查看jar清单中的Class-Path条目是如何工作的。你可以在你的zip文件中与你的应用程序(或有一个安装程序)一起发布bc jar,这样当你运行你的应用程序时,它就会和你的主应用程序在同一个目录下。你所需要的只是在你的jar清单中的Class-Path: thatbcjar.jar,它就会被使用(并且这个jar是相对于应用程序jar所在的目录进行解析的,所以不管你启动java jar时的工作目录是什么)。

最新更新