“没有兼容的附件提供程序是什么意思”

问题描述 投票:4回答:1

最近,我使用byte buddy开发了一个Java代理。 eclipse中的开发很好,然后我将代理程序投入生产并显示以下消息:

No compatible attachment provider is available

以及一些源自行的堆栈跟踪

static {
  ByteBuddyAgent.install();
}
java byte-buddy
1个回答
6
投票

经过一些调试后,我发现了问题。如果使用jre而不是jdk调用了代理,则会出现消息“没有兼容的附件提供者不可用”。

[不幸的是,调用java -version不会返回java是jdk还是jre(消息都显示Java runtime Environment)。

在我的情况下(OS:Windows),这很棘手,因为较新的jsdk安装将C:\ProgramData\Oracle\Java\javapath附加到系统路径,该路径包含jre而不是jdk。通过此修改隐藏了以前添加的条目%JAVA_HOME%/bin。当我删除条目C:\ProgramData\Oracle\Java\javapath时,一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.