sti*_*vlo 8 java eclipse glassfish-3
我无法使用Windows 7上的"Oracle Glassfish服务器工具"插件在Eclipse Indigo上启动Glassfish 3.1.安装插件后,我在服务器视图中选择了"新建" - >"服务器"并单击了GlassFish 3.1并下载了通过Eclipse安装.
每次我尝试启动它时,我都会收到以下消息:
The Eclipse plugin cannot communicate with the GlassFish server,
status is :CREDENTIAL_ERROR
Run Code Online (Sandbox Code Playgroud)
我发现初始密码是'changeit',我在命令行上将其更改为我自己的密码:
bin/asadmin change-master-password domain1
Enter the current master password>
Enter the new master password>
Enter the new master password again>
Command change-master-password executed successfully.
Run Code Online (Sandbox Code Playgroud)
我已经在Eclipse的GlasshFish 3.1配置屏幕中相应地在Application Server(管理员密码)部分对其进行了更改.
列出的端口(8080,4488)似乎与domain.xml配置兼容:
<network-listeners>
<network-listener port="8080" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener>
<network-listener port="8181" protocol="http-listener-2" transport="tcp" name="http-listener-2" thread-pool="http-thread-pool"></network-listener>
<network-listener port="4848" protocol="admin-listener" transport="tcp" name="admin-listener" thread-pool="admin-thread-pool"></network-listener>
</network-listeners>
Run Code Online (Sandbox Code Playgroud)
但是,在我的.log中,我发现以下内容:
!ENTRY oracle.eclipse.tools.glassfish 4 1 2011-08-04 11:38:43.925
!MESSAGE GlassFish: error
!STACK 0
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:525)
at java.net.Socket.connect(Socket.java:475)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.http.HttpClient.<init>(HttpClient.java:233)
at sun.net.www.http.HttpClient.New(HttpClient.java:306)
at sun.net.www.http.HttpClient.New(HttpClient.java:323)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:860)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:801)
at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:726)
at com.sun.enterprise.jst.server.sunappsrv.commands.CommandRunner.call(CommandRunner.java:607)
at com.sun.enterprise.jst.server.sunappsrv.commands.CommandRunner.call(CommandRunner.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
!ENTRY oracle.eclipse.tools.glassfish 4 150 2011-08-04 11:38:43.928
!MESSAGE The Eclipse plugin cannot communicate with the GlassFish server, status is :CREDENTIAL_ERROR
!STACK 0
java.lang.RuntimeException: The Eclipse plugin cannot communicate with the GlassFish server.Status is :CREDENTIAL_ERROR
at com.sun.enterprise.jst.server.sunappsrv.SunAppServerLaunch.launch(SunAppServerLaunch.java:163)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:854)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:703)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:696)
at org.eclipse.wst.server.core.internal.Server.startImpl2(Server.java:3404)
at org.eclipse.wst.server.core.internal.Server.startImpl(Server.java:3342)
at org.eclipse.wst.server.core.internal.Server$StartJob.run(Server.java:363)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Run Code Online (Sandbox Code Playgroud)
因此,根据我的理解,界面中显示的错误消息似乎是误导性的,应该是连接问题,而不是密码问题.谁知道如何解决这个问题?
小智 8
我得到了" Eclipse插件无法与GlassFish服务器通信,状态为:CREDENTIAL_ERROR "错误.
我通过确保没有其他进程正在侦听端口8080
来找到我的问题的解决方案.
要查找侦听端口8080的进程,请打开命令提示符并键入以下内容:
netstat -a -n -o | find "8080"
Run Code Online (Sandbox Code Playgroud)
netstat.它对我有用.
禁用 ZoneAlarm 防火墙后,我可以在 Windows 上成功启动 GlassFish。然而,随后我开始遇到许多不相关且烦人的问题,按照 Mico 的建议,我改回使用 Linux,这是我常用的开发平台,一切都很顺利。
记录该过程:
对于 Eclipse Indigo,默认情况下不存在 GlassFish 连接器。在 WTP 的服务器选项卡中,右键单击并选择新建 -> 服务器,然后单击链接“下载其他服务器适配器”,选择 GlassFish 并按下一步,接受许可证并完成。
这次我自己从http://glassfish.java.net/下载了GlassFish ,并选择了.sh文件风格的Unix全平台开源版本。
在命令行上,我将存档移到了我想要安装的父文件夹中,并命名为“sh glassfish-3.1.1-unix.sh”,这会显示图形配置。我选择典型配置。
如果您选择自动升级选项,请准备等待几分钟。这是自 3.0.1 以来的一个已知错误,似乎他们更喜欢记录它,而不是修复它。无需按照建议取消安装,只需喝杯咖啡或阅读一些新闻,它就会完成。
安装 GlassFish 后,在 Eclipse 服务器选项卡中,选择“新建”->“服务器”,然后选择“GlassFish”->“GlassFish Server Open Source Edition 4 (Java EE 6)”,浏览 Glassfish 的 domain1 目录,将管理员密码留空。
现在就可以在 Glassfish 上部署项目了,就像我以前在 Tomcat 中所做的那样。根据我第一天的经验,热重新部署是一种工作,但并非总是如此,很多时候服务器停止+启动是必要的。