如何使用Java11解决“无法访问类型com.sun.crypto.provider.SunJCE”?

2024-01-30

我正在尝试将我的应用程序从 Java 8 迁移到 Java 11。在我的一个项目类中,我有以下行Security.addProvider(new com.sun.crypto.provider.SunJCE());。我收到此行的编译错误。如何解决这个问题?


如果没有在编译选项中明确设置 com.sun 包,则无法访问它们。添加后--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED到compilerArgs它编译没有任何错误。

Code:

   Security.addProvider(new com.sun.crypto.provider.SunJCE());

Maven:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>

    <properties>
        <java.version>11</java.version>
        <maven.compiler.source>${java.version}</maven.compiler.source>
        <maven.compiler.target>${java.version}</maven.compiler.target>
    </properties>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                    <compilerArgs>
                        <arg>--add-exports=java.base/com.sun.crypto.provider=ALL-UNNAMED</arg>
                    </compilerArgs>

                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

java.security.Security.getProviders()返回所有提供程序,包括 SunJCE。

   Stream.of(java.security.Security.getProviders()).forEach(System.out::println);

因此,获得 SunJCE 实例的更好选择是java.security.Security.getProvider("SunJCE")

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

如何使用Java11解决“无法访问类型com.sun.crypto.provider.SunJCE”? 的相关文章

  • Android PhoneGap 插件,UI 选项卡栏,调整 WebView 大小

    我正在创建一个美味的 PhoneGap 插件 希望一旦它能被打开 准备好了 插件基本完成了 我只需要一个漂亮的用户界面 相互作用 简而言之 我想创建一个 本机 android 工具栏组件 如果您实现 PhoneGap UIControls
  • 具有默认值的 Java JAX-RS 自定义参数

    假设我有这个 这只是一个示例 GET Path value address Produces application json public Response getAddress QueryParam user User user 用户是
  • 使用 HttpUrlConnection Android 将 base64 编码的图像发送到服务器

    我正在尝试使用 HttpUrlConnection 将 base64 编码的图像发送到服务器 我遇到的问题是大多数图像均已成功发送 但有些图像会生成 FileNotFound 异常 我的图像编码代码可以在下面找到 public static
  • 手动编辑 Jar 以更改包名称

    我有一个来自外部源的 jar 文件 jar 中的所有类都位于 com xyz 包中 我想将所有类移动到 com xyzold 包中 这是否像解压缩 jar 将 xzy 文件夹重命名为 xyzold 并重新压缩它一样简单 或者我还需要修改每个
  • jvm 次要版本与编译器次要版本

    当运行使用具有相同主要版本但次要版本高于 JVM 的 JDK 编译的类时 JVM 会抛出异常吗 JDK 版本并不重要 类文件格式版本 http blogs oracle com darcy entry source target class
  • Spring3/Hibernate3/TestNG:有些测试给出 LazyInitializationException,有些则没有

    前言 我在单元测试中遇到了 LazyInitializationException 的问题 而且我很难理解它 正如你从我的问题中看到的那样Spring 中的数据库会话 https stackoverflow com questions 13
  • 将过滤器添加到 Eclipse 中的 Project Explorer

    我想向 Project Explorer 添加一个新的过滤器 以向用户隐藏一些在 Eclipse RCP 应用程序中自动创建的项目 到目前为止我已经找到了两个扩展点 org eclipse ui ide resourceFilters 允许
  • Java 正则表达式 - 字母数字,最多一个连字符,句点或下划线,七个字符长

    我是 Java 正则表达式工具的新手 尽管它们潜力巨大 但我很难完成这项任务 我想编写一个正则表达式来验证遵循以下语法的输入字符串 小写字母和数字的任意组合 仅一个下划线 一个破折号或一个句号 无其他特殊字符 最小长度为 5 我想出了以下解
  • 定期更新 SWT 会导致 GUI 冻结

    Problem 当 GUI 字段定期更新时 SWT 会冻结 我想要一个基于 SWT 的 GUI 其中文本字段的值会定期递增 最初我从单独的线程访问 textField 导致抛出异常 线程 Thread 0 org eclipse swt S
  • JTable 和 JScrollpane 大小的问题

    我有一个JScrollPane with a JTable在里面 在里面JTable我最初有 3 行 稍后添加行 默认JTable我的 3 行很难看 因为JScrollPane calls getPreferredScrollableVie
  • 有多少种方法可以将位图转换为字符串,反之亦然?

    在我的应用程序中 我想以字符串的形式将位图图像发送到服务器 我想知道有多少种方法可以将位图转换为字符串 现在我使用 Base64 格式进行编码和解码 它需要更多的内存 是否有其他可能性以不同的方式做同样的事情 从而消耗更少的内存 现在我正在
  • JFace ColumnWeigthData 导致父级增长

    我有一个 Eclipse RCP 应用程序 并且想要在TableViewer using ColumnWeigthData as ColumnLayoutData 问题是父表单 ScrolledForm在示例代码中 每当我布局表格时都会增加
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 从 @JsonProperty 值获取枚举常量

    我有一个标有 JsonProperty 的枚举 用于使用 Jackson 进行 JSON 序列化 反序列化 并且希望获取给定字符串 JsonProperty 的枚举值 public enum TimeBucket JsonProperty
  • 创建正则表达式匹配数组

    在Java中 我试图将所有正则表达式匹配返回到一个数组 但似乎您只能检查模式是否匹配某些内容 布尔值 如何使用正则表达式匹配来形成与给定字符串中的正则表达式匹配的所有字符串的数组 4城堡的回答 https stackoverflow com
  • 使用 secp256r1 曲线和 SHA256 算法生成 ECDSA 签名 - BouncyCastle

    我正在尝试使用带有 secp256r1 曲线 P256 的 ECDSA 和用于消息哈希的 SHA256 算法生成签名 我也在使用 Bouncy Castle 库 下面的代码 public class MyTest param args pu
  • 使用 JAD 反编译 java - 限制

    我正在尝试使用 Java 中的 JAD 反编译几个 jar 文件 我也尝试过 JD GUI 但运气更差 但出现了很多错误 一种类型 易于修复 似乎是内部类 但我也发现了这段代码 static int SWITCH TABLE atp com
  • 失败时石英重试

    假设我有一个这样配置的触发器
  • 摩尔斯电码 至 英语

    我现在的问题是让 摩尔斯电码转英语 正常工作 将英语转换为莫尔斯电码的第一部分工作正常 我知道以前已经有人问过这个问题 但我不知道我做错了什么 我知道我需要在某个地方进行拆分 但我只是不确定将其放在代码中的何处 现在 莫尔斯电码到英语的部分
  • 为什么应该首选 Java 类的接口?

    PMD https pmd github io 将举报以下违规行为 ArrayList list new ArrayList 违规行为是 避免使用 ArrayList 等实现类型 而是使用接口 以下行将纠正违规行为 List list ne

随机推荐

  • Android 许可证检查直接进入 applicationError(...)

    我刚刚在我的应用程序中实现了 android 服务器检查 我使用 StrictPolicy 方法是因为我可能对盗版版本的下载量是市场版本的 5 倍感到有点苦恼 无论如何 我基本上将该方法逐字编码到我的源代码中 但是 当我将开发人员控制台上的
  • jtable 到图像的转换未正确发生

    我正在尝试从表格创建缓冲图像 当我将表格添加到应用程序框架并设置大小时 我可以正确查看它 但是当我将其转换为图像时 我只能看到表格的第一行其余的在表格之外并且没有标题 生成表的代码是 table new JTable String tabl
  • FTP 在上传时检查文件是否存在以及是否在 C# 中重命名

    我有一个关于使用 C 上传到 FTP 的问题 我想要做的是 如果文件存在 那么我想在文件名后添加 Copy 或 1 这样它就不会替换该文件 有任何想法吗 var request FtpWebRequest WebRequest Create
  • 单击一次应用程序如何确定其应用程序身份?

    我有一个单击一次的应用程序 它已正确签名 正确配置并自行安装 没有任何问题 它设置为脱机运行 但从特定 URL 安装 如果我下载并运行 setup exe 它会安装更新 所以 它基本上一切正常 除了我无法打印版本号 或从代码中触发更新 如果
  • Runnable 上的 NetworkOnMainThreadException

    我正在制作 Android 4 4 项目 我有NetworkOnMainThreadException 下面是我的过程 Service sticky gt Handler per 5 minutes gt Runnable gt HttpP
  • SWIFT - 是否可以从 AVAudioEngine 或 AudioPlayerNode 保存音频?如果是,怎么办?

    我一直在查看 Swift 文档保存 AVAudioEngine 的音频输出但我找不到任何有用的提示 有什么建议吗 Solution感谢马特的回答 我找到了解决方法 下面是如何在通过 AVAudioEngine 传递音频后保存音频的示例代码
  • SXXP0003:XML 解析器报告错误:序言中不允许内容

    我的 XML 文件是
  • screenX/Y、clientX/Y 和 pageX/Y 之间有什么区别?

    有什么区别screenX Y clientX Y and pageX Y 同样 对于 iPad Safari 计算是否与桌面上类似 或者由于视口而存在一些差异 如果您能给我举一个例子 那就太好了 这是一张解释两者区别的图片pageY and
  • 有没有使用数字作为生成随机字符串的算法?

    我想生成一个任意固定长度的随机字符串 N 我的选择 使用相同的数字作为该算法的提要 它应该生成相同的字符串 通过对数字 如数字 1 进行较小的更改 它应该生成一个完全不同的字符串 很难与前一个种子联系起来 如果多个数字可能产生相同的字符串
  • Keras GRU NN 拟合时出现 KeyError:“不在索引中”

    我目前在尝试将 GRU 模型与训练数据相匹配时遇到问题 快速浏览 StackOverflow 后 我发现这篇文章与我的问题非常相似 使用 Keras io 进行最简单的 Lstm 训练 https stackoverflow com que
  • Facebook 图形 API + Facebook 页面

    使用 Facebook 的 Graph API 给定用户名 xyz 假设他们已经验证了我的网站 我如何获取用户管理的所有 Facebook 页面的列表 The accounts财产在user对象说 当前用户拥有的 Facebook 页面 如
  • WebView 无法在 Android 模拟器中工作

    我创建了一个带有简单 Web 视图的 Android 项目 我正在尝试打开谷歌 但模拟器屏幕显示 Google 不可用 我已在清单文件中添加了互联网权限 即使我也可以从模拟器浏览器访问谷歌 仅在应用程序中 我无法访问 日志中也没有打印任何内
  • 有没有办法从 UIView 捕获 WillRotateToInterfaceOrientation 事件?

    每个 UIViewController 都有一个名为 willRotateToInterface 的方法 是否也可以在 UIView 中执行此操作 这符合模型视图控制器的想法吗 我能想到的唯一方法是将事件从 UIViewController
  • 触发事件时“法师注册表项已存在”

    我目前正在尝试连接 sales order save after 事件 但在触发该事件时不断收到以下错误 Mage registry key singleton Modulename Orderobserver already exists
  • smarty tpl 中的 jquery

    smarty tpl 中的 jquery 尝试使用 jquery 插入类属性 以便我可以使用阴影对每个其他列表项行进行 CSS 样式 下面的代码似乎应该可以工作 但是 alt 类没有插入到 li 标记中 页面加载良好 没有任何问题 有人看到
  • 快速 C 随机布尔生成器

    我对在 C 中生成快速随机布尔值 或等效的 Bernoulli 0 5 随机变量 感兴趣 当然 如果有一个具有良好统计行为的快速随机生成器 那么 对随机 Bernoulli 0 5 进行采样 的问题很容易已解决 样本x统一在 0 1 并返回
  • 使用 Javascript 打印到默认打印机,无需打开 html 中的打印机确认对话框

    在 html 文件中 单击按钮打印特定 div 无需打开打印机确认弹出对话框 会自动打印该内容 这实际上不可能以所有人都支持的方式进行modern浏览器 这是有充分理由的 您不希望随机网站在没有您干预的情况下开始打印内容
  • 我可以使用 JSON 数据在 Django 中添加新对象吗?

    我有一组已知的 JSON 数据 这些数据是从 Excel 文件中提取的 我想将其添加到我的 Django 应用程序中 格式如下 Record 12345 Event Initial task completed TeamID 12345 I
  • WPF 错误的 KeyDown ASCII 代码

    我需要根据以下内容获取键盘按键的数值ASCII 表 http www asciitable com 由于 WPF 没有内置解决方案 我尝试了几种技巧 1 这仅给出大写值 char res Char TryParse e Key ToStri
  • 如何使用Java11解决“无法访问类型com.sun.crypto.provider.SunJCE”?

    我正在尝试将我的应用程序从 Java 8 迁移到 Java 11 在我的一个项目类中 我有以下行Security addProvider new com sun crypto provider SunJCE 我收到此行的编译错误 如何解决这