2

我已按照本教程使用 Netbean 7.3.1 创建简单的 Java EE 7 Web 服务。我有使用 Netbeans 运行的 Glassfish 4.0。我成功地运行了项目,没有任何问题。

下一步是在 GlassFish 4.0 网络服务器的独立版本上部署 Webservice 项目。所以我可以在没有 Netbeans 的情况下运行它。

在 上使用 Glassfish Web 界面http://localhost:4848并进行导航

Common Taks -> Applications -> Deploy

我使用(“要上传到服务器的打包文件”)浏览并从我的项目的子目录 /dist/ 中选择 CustomerDB.war 文件

我通过在 Netbean 中运行项目创建了 war 文件。

但部署失败并出现以下错误。

Error occurred during deployment: Exception while preparing the app : Invalid resource Please see server.log for more details.

当我检查服务器日志 C:\glassfish4\glassfish\domains\domain1\logs\server.log

它说

[2013-08-20T16:15:07.633+0100] [glassfish 4.0] [INFO] [] [org.glassfish.admingui] [tid: _ThreadID=33 _ThreadName=admin-listener(2)] [timeMillis: 1377011707633] [levelValue: 800] [[
  Exception Occurred :Error occurred during deployment: Exception while preparing the app : Invalid resource   ]]

更新:

好的,因为我忘记添加连接,所以我找到了上述问题的解决方案。我刚刚添加了连接池和连接资源。

通过导航添加 JDBC 连接池Common Tasks -> Resources -> JDBC -> JDBC Connection Pools

通过导航添加了连接资源Common Tasks -> Resources -> JDBC -> JDBC Resources

但我仍然收到错误。这次不同了。

Error occurred during deployment: Exception while deploying the app [CustomerDB] : Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DatabaseException Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource Error Code: 0. Please see server.log for more details.

知道我缺少什么吗?

4

1 回答 1

3

要解决第一个问题,请glassfish-resource.xml从项目中打开文件,它看起来像这样。 在此处输入图像描述

如果您在服务器配置文件夹中没有 glassfish-resource.xml,您还可以通过单击 netbeans 中的服务选项卡并进一步单击连接池来检查这些详细信息,如此屏幕截图所示。 在此处输入图像描述

基于其中的信息,并使用 Glassfish 4.0 Web 界面http://localhost:4848

首先通过导航 Common Tasks -> Resources -> JDBC -> JDBC Connection Pools 创建新的 JDBC 连接池。它看起来像这样。 在此处输入图像描述

在此处输入图像描述

然后通过导航 Common Tasks -> Resources -> JDBC -> JDBC Resources 创建连接资源它看起来像这样。 在此处输入图像描述

第一个问题已排序。您可以使用连接池中的 Ping 按钮对其进行测试 在此处输入图像描述

对于第二个问题。(如果您的 ping 不成功,请执行以下操作)

在 Netbeans 安装文件夹中搜索mysql-connector-java-5.1.23-bin.jar文件并将其复制到 Glassfish 库文件夹

C:\glassfish4\glassfish\lib

通过在文件夹中运行以下命令复制停止和启动服务器后C:\glassfish4\glassfish\bin

asadmin.bat stop-domain domain1
asadmin.bat start-domain domain1

在上面之后,再次部署应用程序,它将成功部署,您可以使用测试接口访问它 http://localhost:8080/CustomerDB/test-resbeans.html,就像在 netbeans 中一样。

于 2013-08-20T17:00:35.037 回答