我正在 Eclipse 和 Weblogic 10.3.6 服务器中设置我的第一个工作区,
我启动了 Weblogic 服务器,并在 eclipse 的服务器选项卡中收到以下错误。
Oracle WebLogic server 11gR1 (10.3.6) base_domain [Stopped, Error connecting to WebLogic domain]
当我跳到 eclipse 的控制台选项卡时,它表示服务器已在运行模式下启动,并且我能够访问控制台登录
<Feb 5, 2020 5:04:46 PM PST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to RUNNING>
<Feb 5, 2020 5:04:46 PM PST> <Notice> <WebLogicServer> <BEA-000360> <Server started in RUNNING mode>
http://localhost:7001/console/login/LoginForm.jsp
我尝试重新启动我的机器并使用启动服务器启动WebLogicWindows 命令
我收到以下错误消息,
JAVA Memory arguments: -Xms1024m -Xmx2048m -XX:CompileThreshold=8000 -XX:PermSize=1024m -XX:MaxPermSize=2048m
.
WLS Start Mode=Development
.
***************************************************
* To start WebLogic Server, use a username and *
* password assigned to an admin-level user. For *
* server administration, use the WebLogic Server *
* console at http:\\hostname:port\console *
***************************************************
starting weblogic with Java version:
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
<Feb 5, 2020 5:40:45 PM CST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with Java
HotSpot(TM) 64-Bit Server VM Version 24.79-b02 from Oracle Corporation>
<Feb 5, 2020 5:40:55 PM CST> <Info> <Management> <BEA-141281> <unable to get file lock, will retry ...>
<Feb 5, 2020 5:41:05 PM CST> <Info> <Management> <BEA-141281> <unable to get file lock, will retry ...>
我尝试了 serverfault 和 stackoverflow 上几乎所有可用的解决方案。
有什么建议吗?
答案1
我遇到了同样的错误。我的问题是我正在运行一个在端口 7003 上监听的 Nginx。因此,这导致与 Weblogic 的端口冲突。我的解决方案是从 Nginx 中删除该反向代理。您还可以使用以下命令检查是否有任何进程在 7003 上监听:
netstat -aon | findstr 7003
taskkill /f /pid
我希望这能帮助遇到同样麻烦的任何人。
答案2
即使它说服务器已停止,其实不然,您的服务器正在运行,但 Eclipse 无法检测到它(这是您面临的真正问题)。因此,“无法获取文件锁定”就是因为这个原因。如果您关闭服务器,您将能够使用以下命令从命令行重新启动它启动WebLogic。
正如我所说,问题是 Eclipse 无法检测/连接它,因此您无法在 Eclipse 中调试您的应用程序。
我遇到了同样的问题,经过一番调查,我发现问题出在 Eclipse 使用的 jvm 版本上。如果 Eclipse 从 jvm8 开始,它可以正常工作,但不幸的是,Eclipse 版本 > 2020-06 需要 jdk11,因此您最多只能使用 eclipse-2020-06。您可以在文件中检查 Eclipse 使用的 jvm 版本eclipse.ini在 eclipse 的安装目录中,如果它大于 8,则更改它(使用的 jvm 可以在以下行之后找到:-虚拟机)。
问题是,在 jdk11 及更高版本中,缺少一些连接 JMX 所需的库(要么是因为它未与 jvm 捆绑在一起,要么是它被重新打包/重构到其他库中)。通过查看错误日志,我发现在我的案例中org.omg.CORBA_2_3.portable.ObjectImpl
缺少该类,因此 Eclipse 引发了类未找到异常;可能将这个库添加到 jvm 的类路径中也可以,但我还没有尝试过。
总结
要使用 Oracle Weblogic Tools 插件,您可以在 Eclipse 中安装最高版本 2020-06,并使用不高于 8 的 jvm 版本启动它。