java - Izpack 安装程序在 Windows 上失败并出现 java.lang.NullPointerException
问题描述
更新了应用程序以使用 Java 14 的捆绑版本,之前使用的是 Java 8
在 Windows 开发机器上工作正常,但在其他机器上解压数据失败:
com.izforge.izpack.api.exception.IzPackException: An error occured
in java.lang.Thread.run() at Thread.java:832
in com.izforge.izpack.installer.unpacker.UnpackerBase.run() at UnpackerBase.java:241
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:319
Caused by: java.lang.NullPointerException: null
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:299
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:475
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:528
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at UnpackerBase.java:627
in com.izforge.izpack.installer.unpacker.UnpackerBase.extract() at UnpackerBase.java:673
in com.izforge.izpack.installer.unpacker.LooseFileUnpacker.unpack() at LooseFileUnpacker.java:92
in java.io.File. () at File.java:362
不明白为什么,它不能在 Java 14 中可靠地工作吗?
解决方案
jdk之间有一些区别。尝试从以下位置使用 jdk:
- https://adoptopenjdk.net/
- https://www.oracle.com/java/technologies/javase/jdk14-archive-downloads.html
确保更改新 jdk 的系统路径,并使用之前的另一个 jdk。
推荐阅读
- awk - AWK:将用户从第一列的每一行应用到第二列的相应行的主目录并迭代直到最后一条记录
- go - 如何从智能合约中转移 ERC20 代币而不转移到基本账户
- azure - Azure 函数在 500 上失败 - ENOENT:没有这样的文件或目录,lstat 'D:\home\site''
- active-directory - 由于内部错误,无法禁用 AD 用户
- python - 使用 win32COM 时创建新的 Python 对象
- java - 使用 Java 8 Stream 的 DataProvider 查询中的 IndexOutOfBoundsException
- pandas - 将行转换为日期时间 Python
- dataframe - 在火花数据框中的空值列上应用聚合时出错
- seq2seq - 训练 seq2seq 模型时出现 InvalidArgumentError
- c# - 如果代码中的某些条件不匹配,而不是通过验证 Sql 查询,如何停止 SAP B1 Form_Data_Add 事件