我正在尝试在Windows 10上将开发环境从NetBeans 12.6升级到19,并将Java 11升级到17。此环境支持面向Windows和Raspberry Pi OS的应用程序。
升级Java和NetBeans后,从Windows(断点等)在Raspberry Pi上进行远程调试不再有效。从Windows在Raspberry Pi上远程运行应用程序仍然有效。
当我尝试在NetBeans中使用Raspberry Pi平台和已选择的配置执行调试操作时,我收到以下消息:
Java 15已经删除了Nashorn,你必须提供一个自己运行JavaScript的引擎。GraalVM JavaScript目前是首选。”
我知道Nashorn在Java 15中是远程的。我不明白的是该怎么办。
我假设NetBeans正在寻找托管NetBeans而不是Raspberry Pi的Windows系统上的Nashorn替代品,但我不完全确定。
此NetBeans项目使用Ant。我读到过将Ant升级到最新版本(从1.10.8升级到1.10 14)可能会解决这个问题,但这并不起作用。我还尝试在Windows 10上安装GraalVM并在NetBeans中启用选项--experimental-options --js.nashorn-compat=true。这也不管用。
我的目标是Windows 10上的NetBeans 19和Java 17,能够在Windows 10和Raspberry Pi OS上运行和调试。NetBeans和Java的早期版本使这变得非常容易。
我并不致力于Ant,但据我所知,Maven和Gradle并不提供类似的远程运行/调试功能。但如果能解决我的问题,我愿意切换到不同的构建系统。如果有必要,我甚至愿意考虑切换到不同的IDE。
如果你有能帮到我的信息,请尽可能具体。我的专长是应用程序领域和Java语言,而不是NetBeans、Nashorn等。
1条答案
按热度按时间vfwfrxfs1#
我在回答我自己的问题,这充其量是一个糟糕的答案。我继续使用NetBeans 19,但我已经恢复到Java 11。
在这样做的过程中,我最初遇到了一个不同的远程调试问题,这个问题以前在https://github.com/apache/netbeans/issues/5979和https://issues.apache.org/jira/browse/NETBEANS-1425中有过说明。
在问题#1425中发布的解决方案,将debug-args-line的定义添加到build.xml中,确实为我解决了Windows 10上NetBeans 19中的问题。
因此,我可以再次在Windows 10和Raspberry Pi OS上运行和调试我的应用程序。但是我必须使用Java 11(或者可能是任何Java < 15与Nashorn)来实现这一点。