2012-07-03 36 views
6

我在Java EE的初學者。今天,我嘗試按照本教程學習Java EE: http://netbeans.org/kb/docs/javaee/javaee-gettingstarted.htmlJavaEE的項目無法部署

它基本上教會了如何使用Netbeans從Java Web類別創建Web應用程序。

當我運行應用程序,我得到了這樣的構建失敗的錯誤消息:

WebApplication1/build/web&name=WebApplication1&contextroot=/WebApplication1&force=true failed on GlassFish Server 3+ 

    Error occurred during deployment: Exception while preparing the app : Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException 

    Internal Exception: java.sql.SQLException: Error in allocating a connection. 
Cause: Connection could not be allocated because: java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused. 

    Error Code: 0. Please see server.log for more details. 
    WebApplication1/nbproject/build-impl.xml:721: The module has not been deployed. 
    See the server log for details. 
    BUILD FAILED (total time: 2 seconds) 

創建這個項目時,我已經打開GlassFish服務器,並選擇將GlassFish作爲服務器,但它看起來像服務器拒絕連接。

+0

你可以發佈glassfish server.log文件中的內容嗎? – Preston

+0

我找不到它。它是玻璃魚3.1.2。 – qusr

回答

4

在端口1527的Java DB運行它看起來像它不是在你的情況下運行。

單擊您的NetBeans IDE中的「輸出」選項卡,並查看「Java DB數據庫進程」控制檯。

您應該看到以下行:

Tue Jul 03 20:25:43 BST 2012 : Security manager installed using the Basic server security policy. 
Tue Jul 03 20:25:44 BST 2012 : Apache Derby Network Server - 10.8.1.2 - (1095077) started and ready to accept connections on port 1527 

如果你沒有看到那些行試圖調查爲何Java DB的進程無法啓動。

5

圍棋persistence.xml文件,並添加在它的數據庫連接池名稱「JTA數據源」標籤。

您可以在Glassfish管理控制檯中找到連接池的名稱。資源 - > JDBC-> JDBC連接池

<persistence-unit name="Project-name"> 
    <jta-data-source>jdbc/mysqlpool</jta-data-source> 
    <class>....</class> 
</persistence-unit> 
+0

這對我有用,謝謝,但您應該添加的名稱不是來自JDBC連接池的名稱,而是來自JDBC資源的名稱。 – 2013-06-12 14:06:26

2

轉到GlassFish管理控制檯,JDBC,JDBC連接池,並從連接池檢查附加屬性。在我的情況下,我有一個DerbyPool,其中PortNumber是1527,我改變了它。