Java 在非Android应用程序中未使用newTrustedTransport方法找到KeyStoreException JKS实现

Java 在非Android应用程序中未使用newTrustedTransport方法找到KeyStoreException JKS实现,java,ibm-midrange,google-spreadsheet-api,Java,Ibm Midrange,Google Spreadsheet Api,我正在编写一个小程序,使用GoogleSpreadsheet API将数据从DB2表(DB2fori)导出到GoogleSpreadsheet。Java程序由IBMi环境中的CL程序调用 我在本地运行了这个程序,效果很好!!,但当我试图运行CL程序调用的同一程序时,我在执行这一行时收到了KeyStoreException: HTTP_TRANSPORT=GoogleNetHttpTransport.newTrustedTransport() 完全例外的情况是: java.security.Key

我正在编写一个小程序,使用GoogleSpreadsheet API将数据从DB2表(DB2fori)导出到GoogleSpreadsheet。Java程序由IBMi环境中的CL程序调用

我在本地运行了这个程序,效果很好!!,但当我试图运行CL程序调用的同一程序时,我在执行这一行时收到了KeyStoreException:

HTTP_TRANSPORT=GoogleNetHttpTransport.newTrustedTransport()

完全例外的情况是:

java.security.KeyStoreException:找不到KeyStore JKS实现
位于java.security.KeyStore.getInstance(KeyStore.java:101)
在com.google.api.client.util.SecurityUtils.getJavaKeyStore(SecurityUtils.java:53)上
位于com.google.api.client.googleapis.GoogleUtils.getCertificateTrustStore(GoogleUtils.java:74)
在com.google.api.client.googleapis.javanet.GoogleNetHttpTransport.newTrustedTransport(GoogleNetHttpTransport.java:55) Principal.(Principal.java:48)
在java.lang.J9VMInternals.initializeImpl(本机方法)
在java.lang.J9VMInternals.initialize(J9VMInternals.java:199)中
Java completado conódigo de salida 1计划

IBMi的JVM是1.6版本,因此可能存在版本问题,但我使用JDK1.6构建了jar文件。
我使用Gradle构建jar文件。

当你说“在本地运行”时,你的意思是你在工作站上运行它。。。还是在IBMi上使用JAVA命令

如果您从工作站运行它,您可能拥有IBM i java所没有的密钥存储条目


您可能还想在i上使用较新版本的Java。查看有关IBM i支持哪些Java版本的信息。

我在工作站上运行了该应用程序,但如何在IBM i Java中验证密钥存储项?与任何Java安装中一样,请使用keytool程序。您可以在qshell或qp2term中运行它。这是否回答了您的问题?