gpt4 book ai didi

java - 从 Eclipse 中将带有 JavaFX WebView 组件的 SWT 作为 Runnable JAR 导出导致 NullPointerException

转载 作者:太空宇宙 更新时间:2023-11-04 12:08:11 26 4
gpt4 key购买 nike

在 Eclipse (Oxygen.2 Release (4.7.2)) 中使用导出“可运行的 jar”时,我遇到了问题。在 Linux 上生成的 JAR 在 fwkScheduleDispatchFunctions 中抛出空指针异常。

使用代码如下

package webview;

import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Monitor;
import org.eclipse.swt.widgets.Shell;

import javafx.embed.swt.FXCanvas;
import javafx.scene.Scene;
import javafx.scene.web.WebView;

public class MainSWT2 {

public static void main(String[] args) throws InterruptedException {
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("JavaFX / SWT Integration");

shell.setLayout(new FillLayout());
FXCanvas fxCanvas = new FXCanvas(shell, SWT.NONE);
WebView browser = new WebView();

fxCanvas.setScene(new Scene(browser, 1024, 768));

shell.pack();
shell.open();

browser.getEngine().load("http://www.google.com");

while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}

display.dispose();

}
}

并将项目导出为“可运行的 JAR 文件”

Export Properties

从命令行运行时生成的 JAR 文件抛出一个空指针:

$ SWT_GTK3=0 java -jar ~/swttest.jar
Exception in thread "Thread-2" java.lang.NullPointerException
at com.sun.webkit.MainThread.fwkScheduleDispatchFunctions(MainThread.java:34)

选择'提取物需要库中的jar'时,jar运行正常。

不幸的是,我需要将它与“jar-in-jar”解决方案一起使用,因此提取库对我不起作用。

如果您能深入了解问题所在,我们将不胜感激,谢谢。

Java 版本:

$ java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

最佳答案

你能把它作为一个maven项目来试试吗?之后将你的 jar 依赖到主项目中。你可以使用 maven jar 插件。

关于java - 从 Eclipse 中将带有 JavaFX WebView 组件的 SWT 作为 Runnable JAR 导出导致 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49856415/

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