Glassfish 3.1 Eclipse中的CREDENTIAL_ERROR

我无法使用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 

我发现初始密码是’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. 

我在Eclipse的GlasshFish 3.1配置屏幕中相应地在Application Server(管理员密码)部分中对其进行了更改。

列出的端口(8080,4488)似乎与domain.xml配置兼容:

      

但是,在我的.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.(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) 

因此,根据我的理解,界面中显示的错误消息似乎是误导性的,应该是连接问题,而不是密码问题。 谁知道如何解决这个问题?

我得到了“ Eclipse插件无法与GlassFish服务器通信,状态为:CREDENTIAL_ERROR ”错误。

通过确保没有其他进程在端口8080上侦听,我找到了解决问题的方法。
要查找侦听端口8080的进程,请打开命令提示符并键入以下内容:

 netstat -a -n -o | find "8080" 
  1. 在最右边的列中,您将看到进程标识符。
  2. 打开Windows任务管理器(按ctrl + alt + delete并选择“启动任务管理器”)并转到进程选项卡。
  3. 查找名为“PID”的列(如果它不存在已经进入查看 – >选择列… – >检查PID)并找到使用netstat找到的PID的进程。
    – >杀死进程 – >再试一次。

它对我有用。

在Mac OS 10.6上,我遇到了许多与上述相同的问题:

  1. 首先我有CREDENTIAL_ERROR。

  2. 我尝试创建一个新的服务器,如答案2中所示。但是,我不小心添加了错误的密码(它应该留空),并开始收到“错误的用户名或密码”消息。 我无法更改密码。

  3. 然后我又开始获得CREDENTIAL_ERROR了。

  4. 答案3建议解决方案,即运行另一个进程。 我决定尝试完全删除Eclipse设置中的所有服务器,然后添加新服务器,如答案2中所述。

这很好用,我立即启动并运行(记得这次将密码留空)

您的端口交换可能有效的原因是因为当8080是http侦听器时,您的防病毒软件可能正在扫描端口以获取http流量,这会导致凭据错误。 我在网络扫描下从我的AV设置中删除了8080条目,服务器启动正常。 在我找到那个之前,只花了我一个半星期和一次PC重建!!!!!

问候克里斯

更新:事实certificate,我必须完全禁用HTTP扫描程序才能解决此问题。 一旦重新启用,CREDENTIAL_ERROR就会返回。 我已经尝试在AV设置中添加各种exception,但都没有效果。

另一个进程占用端口80的问题,检查在该端口上运行的其他Web服务器或应用服务器,停止并重试

禁用ZoneAlarm防火墙后,我可以在Windows上成功启动GlassFish。 然而,我开始遇到许多无关且烦人的问题,正如Mico建议的那样,我转而使用Linux,这是我通常的开发平台,一切都很顺利。

记录过程:

  1. 使用Eclipse Indigo时,默认情况下不存在GlassFish连接器。 在WTP的服务器选项卡中,右键单击并选择新建 – >服务器,然后单击“下载其他服务器适配器”链接,选择GlassFish并按Next,接受许可并完成。

  2. 这次我从http://glassfish.java.net/下载了GlassFish,并在.sh文件中选择了Unix的开源版完整平台。

  3. 在命令行中,我将存档移动到我想要安装的父文件夹中,并调用“sh glassfish-3.1.1-unix.sh”,这将显示图形配置。 我选择典型配置。

  4. 如果选择自动升级选项,请准备等待几分钟。 这是3.0.1以来的一个已知错误 ,似乎他们更愿意记录,而不是修复它。 没有必要遵循建议取消安装,只是喝咖啡或阅读一些新闻,它将通过。

  5. 安装GlassFish后,在Eclipse服务器选项卡中,选择New – > Server并选择“GlassFish” – >“GlassFish Server Open Source Edition 4(Java EE 6)”,浏览Glassfish的domain1目录,将管理员密码留空。

此时,可以在Glassfish上部署项目,就像我以前在Tomcat中所做的那样。 在我的第一天体验中,热重新部署的工作,但并非总是如此,通常服务器停止+启动是必要的。

我得到了“Eclipse插件无法与GlassFish服务器通信,状态为:CREDENTIAL_ERROR”错误。

对我来说这是一个防火墙问题。 – 由于某种原因,防火墙(由IT配置)阻止eclipse与端口4848上的Glassfish通信,默认情况下用作“管理服务器端口”。

但端口8080未被阻止。

我的解决方法是切换domain.xml的端口

      

现在我可以从eclipse启动服务器了。 并访问浏览器中的普通页面(因为浏览器未阻止4848)。

我想改进安德烈亚斯的答案。

是的,这对于检查您的端口非常重要:

 netstat -a -n -o | find "8080" 

如果您使用的是Windows 7,请确保您的代理主机未处于活动状态。 请检查您的主机列表文件并使用记事本打开,然后在评论所有不必要的主机后重新启动您的PC。 这是教程。

 \%systemroot%\system32\drivers\etc\host 

在我的情况下,jmx无法启动,因为当前主机使用的是activate.adobe.com而不是您的计算机名,也不是localhost。

服务:JMX:RMI://activate.adobe.com:8686 / JNDI / RMI://activate.adobe.com:8686 / jmxrmi

主机应为“localhost”或“127.0.0.1”或您的计算机名

服务:JMX:RMI://我-PC-名称:8686 / JNDI / RMI://我-PC-名称:8686 / jmxrmi

最后一件事是从任务管理器检查您的进程列表,结束反病毒代理服务进程,就像我正在使用趋势科技网络安全版然后结束进程tmproxy.exe * 32

回到你的eclipse,双击服务器列表选项卡中的GlassFish服务器, 取消选中 “对管理控制台使用匿名连接”,然后确保填写“管理员名称”“管理员密码” ,例如用户管理员和密码adminadmin作为GlassFish默认管理员登录。 现在您可以从eclipse运行GlassFish服务器。 它奏效了

试试这个:从任务管理器中杀死java进程,如果它没有显示java进程然后重新启动你的PC >>它对我有效

确保在Eclipse中将JDK设置为JRE。

在Windows上将其设置为

 window>preferences>java>installed jres 

在Mac上将其设置为

 eclipse>preferences>java>installed jres 

这些应该指向JDK位置。