Quarkus native and org.kohsuke:github-api-解析过程中未解析的方法-@WithBridgeMethods
注释的方法
这是Quarkus native and org.kohsuke的后续:github-api-未能反序列化异常问题,我正在使用https://github.com/quarkusio/Quarkus/pull/9182修补程序来克服register for reflection挑战,ghrepository.ghrepopermission.class
是私有内部类。
我不得不将ghlicense.class
添加到@registerforreflection
中,现在示例应用程序在本机编译过程中失败了,原因是:Discovered unresolved method
[getting-started-1.0-SNAPSHOT-runner:42440] analysis: 60,222.05 ms, 6.04 GB
Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.kohsuke.github.GHLicense.urlToString(java.net.URL, java.lang.Class). To diagnose the issue you can use the --allow-incomplete-classpath option. The missing method is then reported at run time when it is accessed the first time.
Detailed message:
Trace:
at parsing org.kohsuke.github.GHLicense.getUrl(GHLicense.java)
Call path from entry point to org.kohsuke.github.GHLicense.getUrl():
at org.kohsuke.github.GHLicense.getUrl(GHLicense.java)
at com.oracle.svm.reflect.GHObject_getUrl_d595a42af79d3a07fda24477277adddcaeacd46d_608.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Method.java:566)
at org.jboss.resteasy.core.ContextParameterInjector$GenericDelegatingProxy.invoke(ContextParameterInjector.java:122)
https://github.com/hub4j/github-api/blob/master/src/main/java/org/kohsuke/github/ghlicense.java#l84 getUrl()方法使用@withbridgeMethods
注释
@WithBridgeMethods(value = String.class, adapterMethod = "urlToString")
public URL getUrl() {
return GitHubClient.parseURL(url);
}
有什么变通办法吗?还是这纯粹是GraalVM的事?
这纯粹是一个GraalVM问题,要解决这个问题,唯一的方法(我知道除了在实际的libraty中更改代码之外)是创建一个Quarkus扩展,它将替换库中令人不快的部分。
更新
这个Quarkus扩展实际上使库在本机模式下正常工作,并且是Quarkus Bot应用程序的基础,该应用程序在Quarkus GitHub存储库上用于各种任务。
我试图将一组房间组件注入存储库,存储库本身使用Dagger2注入ViewModel(在片段中)。 代码如下。 片段: 视图模型: 我的存储库: 最后,对于我的匕首类,我有两个模块: 和我的AppComponent: Dagger编译正常,我可以访问并构建它。但是是不可访问的(检查类将其显示为私有),我需要实际注入依赖项的方法也是如此。结果我得到错误: 我该如何解决这个问题?
问题内容: 我想要一个带pdf并返回文档中注释注释文本列表的python函数。我看过python- poppler(https://code.launchpad.net/~poppler-python/poppler- python/trunk ),但我不知道如何获取它来给我有用的东西。 我找到了该方法,并修改了通过调用它的演示程序,但是我不知道该如何处理AnnotMapping对象。它似乎没有完
本文向大家介绍Java中Json解析的方法分析,包括了Java中Json解析的方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java中Json解析的方法。分享给大家供大家参考,具体如下: 首先准备一个JSON格式的字符串 下面是一个Json解析的程序代码 PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用: 在线JSON代码检验、检验、美化、格式
本文向大家介绍详解Android中解析XML的方法,包括了详解Android中解析XML的方法的使用技巧和注意事项,需要的朋友参考一下 XML在各种开发中都广泛应用,Android也不例外。作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能。今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法。 在Android中,常见的XML解析器分别为S
本文向大家介绍全面解析Java中的注解与注释,包括了全面解析Java中的注解与注释的使用技巧和注意事项,需要的朋友参考一下 注解 一、什么是 Annotation? (注解 or 注释) Annotation, 准确的翻译应该是 -- 注解。 和注释的作用完全不一样。 Annotation 是JDK5.0及以后版本引入的一个特性。 与类、接口、枚举是在同一个层次,可以成为java 的一个类型。 语
问题内容: 我怎样才能(轻松地)获取一个字符串,例如用户可能在运行时输入的字符串,并产生一个Python函数,该函数可以被评估为任何值? 问题答案: 如果您使用Python表示法,则Python自己的内部编译器可以对此进行解析。 如果您稍微改变一下表示法,就会更快乐。 您将获得一个可以使用的抽象语法树。