JavaEE项目无法部署

时间:2012-07-03 20:55:51

标签: java java-ee glassfish connection

我是Java EE的初学者。今天我按照本教程学习Java EE: http://netbeans.org/kb/docs/javaee/javaee-gettingstarted.html

它主要教授如何使用Netbeans从Java Web类别创建Web应用程序。

当我运行应用程序时,我收到了Build Failed错误消息,如下所示:

  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作为服务器但看起来服务器拒绝连接。

3 个答案:

答案 0 :(得分:7)

转到persistence.xml文件,并在其中添加带有数据库连接池名称的“jta-data-source”标记。

您可以在Glassfish管理控制台中找到连接池的名称。资源 - > JDBC-> JDBC连接池

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

答案 1 :(得分:4)

Java DB在端口1527上运行。看起来它没有在你的情况下运行。

单击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进程未启动的原因。

答案 2 :(得分:2)

转到Glassfish管理控制台,JDBC,JDBC连接池,然后检查连接池中的其他属性。在我的情况下,我有一个DerbyPool,其中PortNumber是1527,我改变了它。