2011-08-04 31 views
8

Tôi không thể khởi động Glassfish 3.1 trên Eclipse Indigo với plugin "Công cụ máy chủ Glassfish Oracle" trên Windows 7. Sau khi cài đặt plugin, tôi đã chọn "Mới" -> "Máy chủ" trong máy chủ xem và nhấp vào GlassFish 3.1 và tải xuống cài đặt thông qua Eclipse.Glassfish 3.1 CREDENTIAL_ERROR trong Eclipse

Mỗi lần tôi cố gắng để bắt đầu nó, tôi đã được thông báo sau:

The Eclipse plugin cannot communicate with the GlassFish server, 
status is :CREDENTIAL_ERROR 

Tôi đã phát hiện ra rằng mật khẩu ban đầu là 'changeit' và tôi đã thay đổi nó để riêng tôi, trên dòng lệnh:

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. 

Tôi đã thay đổi nó tương ứng trong màn hình cấu hình GlasshFish 3.1 trong Eclipse trong phần Máy chủ ứng dụng (Mật khẩu quản trị).

Các cổng niêm yết (8080, 4848) có vẻ tương thích với cấu hình 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> 

Tuy nhiên, trong .log của tôi, tôi thấy như sau:

!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) 

Vì vậy, có vẻ như rằng thông báo lỗi hiển thị trong giao diện là gây hiểu nhầm, nó phải là một vấn đề kết nối, không phải vấn đề mật khẩu, theo như tôi hiểu. Bất cứ ai cũng biết làm thế nào để giải quyết vấn đề này?

+0

Phát triển Java trên Windows 7 có thể là một trong những vấn đề của bạn. Sử dụng Linux Tôi chưa bao giờ gặp sự cố với tường lửa và cổng bị chặn. Trên một nhiệm vụ tôi hiện đang sử dụng Windows để chạy một dịch vụ DB và bây giờ tôi đợi câu trả lời [trên một diễn đàn SE khác] (http://superuser.com/questions/319412/open-port-for-microsoft-sql-database -kết nối-từ-bên ngoài-windows-tính toán) về vấn đề tương tự hơn bạn :) – mico

+0

Ok, tôi sẽ thử trên Linux ... Tôi sẽ cho bạn biết. Cảm ơn bạn ngay bây giờ! – stivlo

+0

@mico Tôi nghĩ rằng đó là một cái gì đó sai với cấu hình, thay vì sau khi tắt báo động vùng (tường lửa), nó hoạt động hoàn hảo. Tôi thực sự thường làm việc trên Linux, nhưng bây giờ tôi đang sử dụng Maven và Git thật dễ dàng để chuyển đổi qua lại. Tuyệt vời, bây giờ tôi cũng có thể thử nghiệm với Glassfish và xem tôi có bất kỳ vấn đề tương thích với ứng dụng của tôi không. – stivlo

Trả lời

1

Sau khi tắt tường lửa ZoneAlarm, tôi có thể khởi động thành công GlassFish trên Windows. Tuy nhiên, sau đó tôi bắt đầu có nhiều vấn đề không liên quan và gây phiền nhiễu và như Mico đã đề xuất, tôi đã chuyển sang sử dụng Linux, nền tảng phát triển thông thường của tôi và mọi thứ đều ổn.

Để ghi lại quá trình:

  1. với Eclipse Indigo, nối GlassFish là không có mặt theo mặc định. Trong tab máy chủ của WTP, nhấp chuột phải và chọn New -> Server và nhấp vào liên kết "Tải xuống bộ điều hợp máy chủ bổ sung", chọn GlassFish và nhấn Tiếp theo, chấp nhận giấy phép và Kết thúc.

  2. Lần này tôi đã tải xuống GlassFish bản thân mình từ http://glassfish.java.net/ và chọn nền tảng phiên bản nguồn mở đầy đủ cho Unix theo hương vị của tệp .sh.

  3. Trên dòng lệnh, tôi đã di chuyển tệp lưu trữ trong thư mục mẹ mà tôi muốn cài đặt và gọi là "sh glassfish-3.1.1-unix.sh", hiển thị cấu hình đồ họa. Tôi chọn cấu hình điển hình.

  4. Nếu bạn chọn tùy chọn nâng cấp tự động, hãy chuẩn bị chờ vài phút. Đó là known bug since 3.0.1, có vẻ như họ thích viết tài liệu hơn là sửa nó. Nó không cần thiết phải làm theo lời khuyên để hủy bỏ cài đặt, chỉ cần lấy một ly cà phê hoặc đọc một số tin tức, nó sẽ được thông qua.

  5. Khi GlassFish được cài đặt, trong tab máy chủ Eclipse, chọn Mới -> Máy chủ và chọn "GlassFish" -> "GlassFish Server Mã nguồn mở phiên bản 4 (Java EE 6)", duyệt thư mục domain1 của Glassfish, để lại mật khẩu quản trị chỗ trống.

Tại thời điểm này, có thể triển khai các dự án trên Glassfish, giống như tôi đã từng làm trong Tomcat. Trong kinh nghiệm ngày đầu tiên của tôi, loại công việc redeployment nóng, nhưng không phải luôn luôn, khá thường xuyên một máy chủ dừng + bắt đầu là cần thiết.

2

Trên Mac OS 10.6 Tôi có rất nhiều các vấn đề tương tự mô tả ở trên:

  1. Đầu tiên tôi đã có CREDENTIAL_ERROR.

  2. Tôi đã thử tạo một máy chủ mới, như được đề xuất trong câu trả lời 2. Tuy nhiên, tôi đã vô tình thêm sai mật khẩu (nó phải để trống) và bắt đầu nhận được thông báo "tên người dùng hoặc mật khẩu sai". Tôi không thể thay đổi mật khẩu.

  3. Tôi sau đó bắt đầu nhận lại CREDENTIAL_ERROR.

  4. Giải pháp được đề xuất bằng câu trả lời 3, rằng có một quá trình khác đang chạy. Tôi quyết định thử hoàn toàn xóa tất cả các máy chủ trên cài đặt Eclipse của tôi, và sau đó thêm một máy chủ mới, như mô tả trong câu trả lời 2.

Đó làm việc thật đẹp, và tôi đã ngay lập tức lên và chạy (nhớ rời mật khẩu trống thời gian này thông qua)

1

vấn đề với một quá trình chiếm cổng 80, kiểm tra các máy chủ web khác hoặc các máy chủ ứng dụng đang chạy trên cổng đó, họ dừng lại và thử lại

8

tôi có những "Eclipse plugin không thể kết nối với máy chủ GlassFish, trạng thái là: CREDENT IAL_ERROR "cũng vậy.

Tôi tìm thấy một giải pháp cho vấn đề của tôi bằng cách đảm bảo rằng không có quá trình khác đang lắng nghe ở cổng 8080.
Để tìm các quá trình lắng nghe cổng 8080, đưa ra một dấu nhắc lệnh và gõ như sau:

netstat -a -n -o | find "8080" 
  1. Trong cột ngoài cùng bên phải, bạn sẽ thấy số nhận dạng quy trình.
  2. Làm hiển thị trình quản lý tác vụ của cửa sổ (nhấn ctrl + alt + delete và chọn "Bắt đầu Trình quản lý tác vụ") và chuyển đến tab quy trình.
  3. Tìm cột có tên "PID" (nếu nó chưa có mặt đã đến xem -> chọn cột ... -> kiểm tra PID) và tìm quy trình với PID bạn tìm thấy bằng cách sử dụng netstat.
    -> giết quá trình -> thử lại.

Nó làm việc cho tôi.

0

Hãy thử điều này: giết quá trình java từ task manager nếu nó không hiển thị quá trình java sau đó khởi động lại máy tính của bạn >> nó làm việc cho tôi

0

Đảm bảo rằng bạn đã thiết lập như JDK JRE trong eclipse của bạn.

Trên Windows thiết lập nó để

window>preferences>java>installed jres 

Trên Mac đặt nó vào

eclipse>preferences>java>installed jres 

Những nên trỏ đến vị trí JDK.

1

Tôi nhận được "Plugin Eclipse không thể giao tiếp với máy chủ GlassFish, trạng thái là: CREDENTIAL_ERROR" lỗi quá.

Đối với tôi đó là sự cố Tường lửa. - Vì lý do nào đó, Tường lửa (được cấu hình bởi CNTT) chặn nhật thực để giao tiếp với Glassfish trên cổng 4848, theo mặc định được sử dụng làm "Cổng máy chủ quản trị".

Nhưng cổng 8080 không bị chặn.

workaround của tôi là để chuyển các cảng trong domain.xml

<network-listeners> 
    <network-listener port="4848" 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="8080" protocol="admin-listener" transport="tcp" name="admin-listener" thread-pool="admin-thread-pool"></network-listener> 
</network-listeners> 

Bây giờ tôi có thể bắt đầu các máy chủ từ nhật thực. Và truy cập vào các trang bình thường trong trình duyệt (vì 4848 không bị chặn cho trình duyệt).

+0

cảm ơn tôi đã làm những gì bạn nói .. và nó đã làm việc .. làm cho ngày của tôi .. –

2

Lý do việc chuyển đổi cổng của bạn có thể hoạt động, là vì khi 8080 là người nghe http, có khả năng là vi-rút của bạn đang quét cổng cho lưu lượng truy cập http, gây ra Lỗi xác thực. Tôi đã xóa mục nhập 8080 khỏi cài đặt AV của mình trong quá trình quét web và máy chủ khởi động tốt. Chỉ mất một tuần rưỡi của tôi và một PC xây dựng lại trước khi tôi thấy rằng một !!!!!

Trân Chris

Cập nhật: Nó chỉ ra rằng tôi đã vô hiệu hóa hoàn toàn HTTP Scanner để ngăn chặn vấn đề này. Ngay khi nó được kích hoạt lại CREDENTIAL_ERROR đã trả về. Tôi đã thử thêm tất cả các loại ngoại lệ cho các thiết lập AV, nhưng không có gì làm việc.

1

Tôi muốn cải thiện câu trả lời từ Andreas.

Vâng, này rất quan trọng để kiểm tra cổng của bạn:

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

Nếu bạn đang sử dụng Windows 7 chắc chắn rằng máy chủ proxy của bạn không hoạt động. Vui lòng kiểm tra tệp danh sách máy chủ lưu trữ của bạn và mở bằng notepad rồi khởi động lại PC của bạn sau khi nhận xét tất cả máy chủ không cần thiết. Here là hướng dẫn.

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

Trong trường hợp jmx của tôi thất bại trong việc bắt đầu vì máy chủ hiện tại đang sử dụng activate.adobe.com không máy tính tên tuổi cũng không localhost của bạn.

dịch vụ: jmx: rmi: //activate.adobe.com: 8686/jndi/rmi: //activate.adobe.com: 8686/jmxrmi

Người dẫn chương trình nên là "localhost" hoặc "127.0.0.1" hoặc máy tính của bạn-tên

dịch vụ: jmx: rmi: // My-PC-Name: 8686/jndi/rmi: // My-PC-Name: 8686/jmxrmi

Điều cuối cùng là kiểm tra danh sách quy trình của bạn từ Trình quản lý tác vụ, e nd quy trình dịch vụ proxy chống vi rút, như tôi đang sử dụng Trend Micro Internet Security sau đó kết thúc quá trình tmproxy.exe * 32.

Quay trở lại của bạn eclipse nhấp đúp chuột vào máy chủ GlassFish của bạn trong tab danh sách máy chủ, hãy bỏ chọn"Sử dụng Anonymous kết nối cho Admin Console" sau đó hãy chắc chắn để điền "Quản trị Name""quản lý mật khẩu" ví dụ quản trị viên người dùng và mật khẩu adminadmin dưới dạng đăng nhập quản trị mặc định của GlassFish. Bây giờ bạn có thể chạy máy chủ GlassFish từ nhật thực. Đã hoạt động.

Các vấn đề liên quan