如果我重命名该软件包然后编译该软件包,则SQL-Developer会冻结。这是一个已知问题/是否有解决此问题的方法?
在早期版本(例如4.x)中,创建了一个新程序包。
添加或删除功能和过程正在运行,但未更改软件包名称。冻结sqldeveloper之后,我制作了一个屏幕截图-我必须使用Windows taskmanager将其杀死。
新包已创建,启动新的sqldeveloper后可以对其进行编辑。
谢谢
SQL Developer版本18.3.0.277 Oracle Database 12c
完整的jstack输出:https://pastebin.com/VXZb2rSn
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Found 1 deadlock.
答案 0 :(得分:1)
打开一个包装(说明!)
create or replace PACKAGE PACKAGE_SO AS
/* TODO enter package declarations (types, exceptions, methods etc) here */
END PACKAGE_SO;
获取代码,“重命名”程序包。
create or replace PACKAGE PACKAGE_SO_NEW_NAME AS
/* TODO enter package declarations (types, exceptions, methods etc) here */
END PACKAGE_SO_NEW_NAME;
编译。
我得到一个弹出对话框,表明已创建了一个新程序包,短暂的停顿后,我得到了一个新的代码编辑器。
我的第一个包裹不再打开。
我需要刷新树上的Package项才能看到新的Package项。
这是版本18.3,在Mac上使用Java 8,针对18c(12.2)数据库。
现在,为什么它对您不起作用?
看来底层框架代码正在尝试在非UI线程上执行用户界面工作,并且被卡住了。
不确定是什么原因导致了您而不是我的这种情况,但这将是一个错误。