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