首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解决Netbeans平台中未找到openide类的源文件

解决Netbeans平台中未找到openide类的源文件
EN

Stack Overflow用户
提问于 2022-08-09 18:23:23
回答 1查看 100关注 0票数 1

我有一个使用Swing和JavaFX使用Netbeans 14平台用Java 15编写的大型遗留应用程序。因此,当应用程序启动时,它看起来像Netbeans,并有IDE菜单项,对于这个问题,文件->打开文件.

我们正在转换到比过去大一个数量级的文件(超过1G的文本),所以在加载该文件时它会抛出一个异常(这并不奇怪)。当Netbeans (openide)试图将文件加载到文本窗格时,似乎会发生异常。我还没有决定如何解决这个问题,但就目前而言,我只想显示一个统计面板。这是一个例外:

代码语言:javascript
复制
INFO [org.openide.text.DataEditorSupport]: UIHANDLER_TOO_BIG_FILE_LOADED
SEVERE [org.openide.util.Exceptions]
java.lang.NegativeArraySizeException: -2147483648
    at org.netbeans.modules.editor.lib2.document.ReadWriteUtils.read(ReadWriteUtils.java:51)
    at org.netbeans.editor.BaseDocument.read(BaseDocument.java:1459)
    at org.netbeans.editor.BaseKit.read(BaseKit.java:663)
    at org.openide.text.DataEditorSupport.loadFromStreamToKit(DataEditorSupport.java:457)
    at org.openide.text.DocumentOpenClose$DocumentLoad.atomicLockedRun(DocumentOpenClose.java:739)
    at org.openide.text.DocumentOpenClose$DocumentLoad.run(DocumentOpenClose.java:590)
    at org.netbeans.editor.GuardedDocument.runAtomic(GuardedDocument.java:296)
    at org.openide.text.NbDocument.runAtomic(NbDocument.java:411)
    at org.openide.text.DocumentOpenClose$DocumentLoad.run(DocumentOpenClose.java:630)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
    at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
    at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)
WARNING [org.netbeans.core.TimableEventQueue]: too much time in AWT thread null

注意,整个堆栈跟踪都是netbeans和openide类,而不是我们的东西。

第一个"at“行是一个链接,当单击该链接时,将出现错误。

代码语言:javascript
复制
Source not found for "ReadWriteUtils"

我已经从https://repository.apache.org/#nexus-search;quick~openide下载了源代码和javadoc,并试图告诉Netbeans它们在哪里,这样我就可以知道如何中断文件的加载,这样它就不会尝试全部显示。我将这些jars放到一个目录中,并将它们分解到组织树中,这样我就可以看到源文件了。然后,我使用Tools -> Netbeans平台来打开Netbeans平台管理器。在"Development“平台下,我选择源代码并单击"Add /文件夹.”按钮。我不允许选择任何jars,但是当我选择org目录时,它会将其添加到平台源代码中。当我选择Javadoc并单击"Add /文件夹.“按钮,它允许我选择javadoc jars。

请注意,有些jars的名字中有RELEASE140,而有些则没有。我复制了一个jars,并删除了它,看看它是否混淆了Netbeans。

没有骰子。我怀疑Netbeans有它自己版本的类文件jars,因此忽略了我告诉它源代码在哪里的尝试。Netbeans使用的openide版本是否与RELEASE140不同?下面是模块列表的顶部:

代码语言:javascript
复制
INFO [org.netbeans.core.startup.NbEvents]: Turning on modules:
    slf4j.jdk14 [1.7.28 1.7.28]
    slf4j.api [1.7.28 1.7.28]
    org.openide.util.lookup [8.49 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.util [9.23 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.util.ui [9.24 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.modules [7.63 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.api.annotations.common/1 [1.43 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.filesystems [9.27 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.awt [7.83 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.api.progress/1 [1.63 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.api.progress.nb [1.63 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.dialogs [7.57 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.nodes [7.60 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.windows [6.92 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.libs.batik.read [1.8.0.1 1 Netbeans/netbeans-TLP/netbeans/release130-20-on-20220221]
    org.openide.util.ui.svg [1.9 Netbeans/netbeans-TLP/netbeans/release130-20-on-20220221]
    org.netbeans.modules.editor.mimelookup/1 [1.55 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.text [6.83 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.api.scripting [1.12 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.swing.tabcontrol [1.71 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.swing.outline [1.49 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.explorer [6.77 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.actions [6.54 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.modules.queries/1 [1.58 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.api.templates [1.23 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.filesystems.nb [9.25 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.loaders [7.85 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.api.intent [1.17 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.api.io [1.18 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.io [1.64 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.filesystems.compat8 [9.24 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.execution [9.18 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.openide.execution.compat8 [9.17 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.swing.plaf [1.57 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]
    org.netbeans.modules.keyring [1.39 13-00d6d969bf4d9b14e7406c9ee9cc13a61dc39655]

我还将jars添加到C:\Program \netbeans-14\netbeans\platform\docs中,因为我在那里找到了一些JUnit jars。没有明显的效果。

我希望能够打开openide源代码,将其放入断点,并在遇到异常之前查看它正在做什么。所以我的问题是,我如何看待Netbeans中的openide源代码?

当然,真正的目标是用我们自己的ReadWriteUtils替换文件的处理,为此,我一直在https://netbeans.apache.org//kb/docs/platform.html的教程中工作。到目前为止,他们都没有在这方面帮我。

EN

回答 1

Stack Overflow用户

发布于 2022-08-10 17:46:30

比那简单多了。

为了能够调试应用程序,包括运行Netbeans平台代码时,只需从Apache 14下载页面下载netbeans-14-source.zip,然后转到Tools/Netbeans platform菜单,并在source选项卡中添加.zip文件。

现在,如果您在应用程序代码中添加了一个断点,当它调用Netbeans平台代码时,您也可以进入Netbeans代码并对其进行调试。

要从特定的Netbeans平台文件(在您的示例中是ReadWriteUtils.java)中添加一个断点:菜单open File,请选择netbeans-14-source.zip e.zip,然后选择文件,并添加断点。

另外,Netbeans将自动从源文件中检索javadoc。要看它,菜单Windows/IDE tools/Java doc

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73296503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档