- 128
- 0
各位前辈,我使用谷歌的ZXing创建二维码,按照网上的例子写。刚开始可以运行,然后我在其他Service里面打了个断点,调试了一下其他问题,再运行这个地方就报错了。
例子:
BitMatrix matrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE,width,height,hints);
Path file = new File("C:/Users/Administrator/Desktop/SpringBoot/img.png").toPath();
MatrixToImageWriter.writeToPath(matrix,format,file);
错误信息出在这一步:
MatrixToImageWriter.writeToPath(matrix,format,file);
报错信息是:
Caught and handled this exception :
java.lang.NumberFormatException: For input string: ""
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.base/java.lang.Integer.parseInt(Integer.java:662)
at java.base/java.lang.Integer.parseInt(Integer.java:770)
at com.github.jaiimageio.impl.common.ImageUtil.processOnRegistration(ImageUtil.java:1401)
at com.github.jaiimageio.impl.plugins.bmp.BMPImageReaderSpi.onRegistration(BMPImageReaderSpi.java:97)
at java.desktop/javax.imageio.spi.SubRegistry.registerServiceProvider(ServiceRegistry.java:788)
at java.desktop/javax.imageio.spi.ServiceRegistry.registerServiceProvider(ServiceRegistry.java:330)
at java.desktop/javax.imageio.spi.IIORegistry.registerApplicationClasspathSpis(IIORegistry.java:212)
at java.desktop/javax.imageio.spi.IIORegistry.<init>(IIORegistry.java:136)
at java.desktop/javax.imageio.spi.IIORegistry.getDefaultInstance(IIORegistry.java:157)
at java.desktop/javax.imageio.ImageIO.<clinit>(ImageIO.java:66)
at com.google.zxing.client.j2se.MatrixToImageWriter.writeToPath(MatrixToImageWriter.java:129)
at com.google.zxing.client.j2se.MatrixToImageWriter.writeToPath(MatrixToImageWriter.java:100)
at com.scut.originsystem.util.QRCodeUtil.createQRCode(QRCodeUtil.java:42)
at com.scut.originsystem.service.QRCodeService.qRCodeWord(QRCodeService.java:162)
at com.scut.originsystem.service.QRCodeService.asyncQRCodeWord(QRCodeService.java:146)
at com.scut.originsystem.service.QRCodeService$$FastClassBySpringCGLIB$$a6aa6547.invoke(<generated>)
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.aop.interceptor.AsyncExecutionInterceptor$1.call(AsyncExecutionInterceptor.java:115)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.lang.Thread.run(Thread.java:844)
报错的源码是:
String jvmVendor = System.getProperty("java.vendor");
String jvmVersionString = System.getProperty("java.specification.version");
int verIndex = jvmVersionString.indexOf("1.");
jvmVersionString = jvmVersionString.substring(verIndex + 2);
int jvmVersion = Integer.parseInt(jvmVersionString);
这里显示jvmVersionString为空,无法转换为int。
这是API的BUG么,应该如何修改?为什么之前可以运行?
请各位前辈指导。
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
失去了、就不该回忆 普通会员 1楼
ZXing(Zebra Crossing)是一个开源的、多语言的二维码生成与识别库,它并不直接识别JVM版本,而是用于生成和解析二维码。
如果你在使用ZXing过程中遇到问题,可能是以下几种情况:
-
依赖版本问题:确认你使用的ZXing版本与你的JVM版本兼容。如果JVM版本过低或者过高,可能无法正常运行部分ZXing的功能。
-
编码问题:在生成或解析包含特定JVM版本信息的二维码时,如果数据编码格式选择不当,可能会导致解析失败。请确保数据内容按照正确的编码格式进行编解码。
-
使用方式错误:在调用ZXing API生成或解析二维码时,如果参数设置不正确,也可能导致错误。例如,如果你尝试将JVM版本信息编码为二维码,但没有正确设置内容类型或格式,就可能导致生成或解析失败。
-
JVM环境问题:如果JVM本身存在故障或配置问题,也可能影响到ZXing的正常运行。
具体的问题需要查看错误堆栈信息来进一步分析和定位。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
