gpt4 book ai didi

java - 纯 Java 环境中如何处理 JSNI 方法?

转载 作者:行者123 更新时间:2023-12-03 10:41:23 25 4
gpt4 key购买 nike

我使用以下 GWT JSNI code应该在服务器和客户端使用的共享包中使用:

public static native void alert(String msg) /*-{
$wnd.alert(msg);
}-*/;


public void doSomething() {
alert("test");
}

当服务器上的这段代码编译为纯 Java 时,编译器会对其执行什么操作?有没有办法提供纯Java版本的代码来替代JSNI部分?

最佳答案

从 JVM 的 Angular 来看,它们是 native methods .
/*-{ … }-*/ 是 GWT 特定的语法,从 Java 编译器的 Angular 来看,它只是一个注释。

因此,如果在 JVM 中调用,它将失败并显示 UnsatisfiedLinkError .

如果您想为 GWT 与 JVM 提供特定的实现,则可以使用 GWT.isScript()(如果 JVM 特定的代码可转换为 GWT)(您可以尝试使用 对其进行注释) >@GwtIncomplete 并查看 GWT 是否提示),或者您可以使用 super 源;请参阅 http://www.gwtproject.org/doc/latest/DevGuideOrganizingProjects.html#DevGuideModuleXml 中的“用另一个包覆盖一个包实现”

关于java - 纯 Java 环境中如何处理 JSNI 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28765951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com