Java EE 7 GlassFish 4.0 Restful Webservices с использованием Netbean и развертыванием на Glassfish 4.0

Я следовал этому руководству для создания простых веб-сервисов Java EE 7 с использованием Netbean 7.3.1. . У меня есть Glassfish 4.0, работающий с Netbeans. Я успешно запустил проект без каких-либо проблем.

Следующим шагом является развертывание проекта Webservice на автономной версии веб-сервера GlassFish 4.0. Так что я могу запустить его без Netbeans.

Использование веб-интерфейса Glassfish на http://localhost:4848 и навигация

Common Taks -> Applications -> Deploy

Я просматриваю с помощью («упакованный файл для загрузки на сервер») и выбираю файл CustomerDB.war из подкаталога моего проекта /dist/

Я создал военный файл, запустив проект в Netbean.

Но развертывание не выполнено со следующей ошибкой.

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.

Любая идея, что мне не хватает?


person Developer    schedule 20.08.2013    source источник


Ответы (1)


Чтобы исправить первую проблему, откройте файл glassfish-resource.xml из своего проекта, он будет выглядеть примерно так. введите здесь описание изображения

если у вас нет файла glassfish-resource.xml в папке конфигурации сервера, вы также можете проверить эти данные, щелкнув вкладку служб в netbeans и далее щелкнув пулы соединений, как показано на этом снимке экрана. введите здесь описание изображения

На основании содержащейся в нем информации и с использованием веб-интерфейса Glassfish 4.0 http://localhost:4848

Сначала создайте новый пул соединений JDBC, выбрав Общие задачи -> Ресурсы -> JDBC -> Пулы соединений JDBC. Это будет выглядеть примерно так. введите здесь описание изображения

введите здесь описание изображения

Затем, во-вторых, создайте ресурс Connection, перейдя в Общие задачи -> Ресурсы -> JDBC -> Ресурсы JDBC. Это будет выглядеть примерно так. введите здесь описание изображения

Первая проблема решена. вы можете протестировать его с помощью кнопки Ping в пулах соединений введите описание изображения здесь

Для Второй проблемы. (если ваш пинг не удался, сделайте следующее)

Найдите файл mysql-connector-java-5.1.23-bin.jar в папке установки Netbeans и скопируйте его в папку библиотеки 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.

person Developer    schedule 20.08.2013