gpt4 book ai didi

java - NetBeans 8 中的远程调试 GUI Java 应用程序 (swing)

转载 作者:行者123 更新时间:2023-12-01 18:22:00 25 4
gpt4 key购买 nike

我在 NetBeans IDE 中设置了 2 个 Linux 系统之间的远程调试。远程调试没有 GUI 的应用程序工作正常,但当我尝试远程调试具有 swing GUI 的应用程序时,我收到此错误:

线程“AWT-EventQueue-0”中出现异常java.awt.HeadlessException:未设置 X11 DISPLAY 变量,但该程序执行了需要它的操作。

如有任何建议,我将不胜感激!

NetBeans 输出窗口:

ant -f/home/toma/NetBeansProjects/GUIFormExamples -Dremote.platform.password=***** -Dremote.platform.rp.target=linux-15 -Dremote.platform.java.spec.ver=17 -Dremote.platform.rp.filename=linux -Ddebug.class=天线 -Dnb.internal.action.name=调试调试远程在里面:删除:/home/toma/NetBeansProjects/GUIFormExamples/build/built-jar.propertiesdeps-jar:更新属性文件:/home/toma/NetBeansProjects/GUIFormExamples/build/built-jar.properties编译:将 1 个文件复制到/home/toma/NetBeansProjects/GUIFormExamples/build将库复制到/home/toma/NetBeansProjects/GUIFormExamples/dist/lib。要在不使用 Ant 的情况下从命令行运行此应用程序,请尝试:java -jar“/home/toma/NetBeansProjects/GUIFormExamples/dist/GUIFormExamples.jar” jar :连接到 192.168.1.122:22连接到 192.168.1.122:22cmd : mkdir -p '/home/toma/NetBeansProjects//GUIFormExamples/dist'连接到 192.168.1.122:22完毕。配置文件-rp-校准-passwd:连接到 192.168.1.122:22cmd : cd '/home/toma/NetBeansProjects//GUIFormExamples'; '/usr/lib/jvm/j2sdk1.7-oracle/jre/bin/java' -Xdebug -Xrunjdwp:transport=dt_socket,address=localhost:39245 -Dfile.encoding=UTF-8 -jar/home/toma/NetBeansProjects//GUIFormExamples/dist/GUIFormExamples.jar线程“AWT-EventQueue-0”中出现异常java.awt.HeadlessException:未设置 X11 DISPLAY 变量,但该程序执行了需要该变量的操作。在 java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)在 java.awt.Window.(Window.java:535)

最佳答案

您需要将 DISPLAY 环境变量导出添加到您的 ant 构建 xml 文件中。我已经在博客上讨论了这个问题及其解决方案 my blog

对于我的项目,ANT 构建 xml 文件中有一个名为“-copy-to-remote-platform”的目标和两个宏:“runwithpasswd”和“runwithkey”,需要进行一些修改。

我添加了“export DISPLAY=:0;”在上述每个宏中添加最后一个 sshexec 命令,使它们看起来像这样:

<sshexec host="${remote.platform.host}" port="${remote.platform.port}" username="${remote.platform.user}" password="${remote.platform.password}" trust="true" usepty="true"
command="export DISPLAY=:0; cd '${remote.project.dir}'; ${remote.platform.exec.prefix}'${remote.java.executable}' @{additionaljvmargs} -Dfile.encoding=${runtime.encoding} ${run.jvmargs} ${run.jvmargs.ide} -jar ${remote.dist.jar} ${application.args}"/>

注意“export DISPLAY=:0;”在“command”属性的开头。

关于java - NetBeans 8 中的远程调试 GUI Java 应用程序 (swing),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27419376/

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