java-Coldfusion无法加载jar文件的嵌套类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-Coldfusion无法加载jar文件的嵌套类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1421字,纯文字阅读大概需要3分钟。
内容图文
![java-Coldfusion无法加载jar文件的嵌套类](/upload/InfoBanner/zyjiaocheng/659/ef2c1bee9d964f19ad0b018d4fa8df1b.jpg)
我正在通过将.jar文件放入Coldfusion服务器的WEB-INF / lib文件夹中来加载Google的Java客户端以获得服务帐户授权.可以通过以下方式创建java对象:
<cfset credential = createObject("java", "com.google.api.client.googleapis.auth.oauth2.GoogleCredential") />
但是,如果Java类具有任何以ClassName $InnerClassName形式存在的内部类,则在转储对象时似乎不会加载它们.
具体来说,我尝试添加从此处下载的.jar文件:https://code.google.com/p/google-api-java-client/downloads/list
我尝试转换为CF的代码是:
GoogleCredential credential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId("[[INSERT SERVICE ACCOUNT EMAIL HERE]]")
.setServiceAccountScopes(PlusScopes.PLUS_ME)
.setServiceAccountPrivateKeyFromP12File(new File("key.p12"))
.build();
此< cfset凭据= createObject(“ java”,“ com.google.api.client.googleapis.auth.oauth2.GoogleCredential”)/>可以很好地创建对象,但是当将其转储或在代码中调用Builder()方法时,转储不显示Builder方法,或者说分别找不到该方法.
当我从google-api-client-1.17.0-rc.jar文件中提取类时,带有该方法的类即为GoogleCredential $Builder.class
最重要的是,.jar文件中的所有内容似乎都是按顺序排列的,但是将它们添加到CF时,并不是所有内容都存在.
有人知道为什么CF无法完全加载.jar文件吗?
解决方法:
为了让CF加载嵌套类,您需要这样调用它:
<cfset credential_builder = createObject("java", "com.google.api.client.googleapis.auth.oauth2.GoogleCredential$Builder") />
之后,从Java到CF的转换过程顺利进行.
内容总结
以上是互联网集市为您收集整理的java-Coldfusion无法加载jar文件的嵌套类全部内容,希望文章能够帮你解决java-Coldfusion无法加载jar文件的嵌套类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。