7

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

4

3 回答 3

8

转到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>
于 2012-08-02T21:54:29.887 回答
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 进程未启动的原因。

于 2012-07-03T21:02:47.443 回答
2

转到 Glassfish 管理控制台、JDBC、JDBC 连接池,然后检查连接池中的附加属性。就我而言,我有一个 DerbyPool,其中 PortNumber 为 1527,我更改了它。

于 2015-08-14T19:32:44.103 回答