Когда я пытаюсь сгенерировать код для моей удаленной БД, я продолжаю получать некоторые вариации в следующем:
[ERROR] Failed to execute goal org.jooq:jooq-codegen-maven:3.11.5:generate (default) on project vaadinwebsite: Error running jOOQ code generation tool: Communications link failure
[ERROR]
[ERROR] The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. Operation timed out
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Это в Eclipse или из командной строки. Я знаю, что могу подключиться к этой БД с этой машины, потому что я добавил ее в качестве источника данных в Eclipse. Добавление -X и -e мало что мне рассказало. Как узнать, в чем проблема?
Хороший вопрос. Не совсем уверен, если честно. Но я, наконец, сдался и просто решил создать банку прямо на моем сервере (так что удаленного доступа нет, в той же сети), и это сработало.
Плагин генерации кода Jooq должен подключаться к серверу БД во время своей работы, чтобы читать определения схемы и генерировать Java-код на основе этих определений.
Ошибка здесь очевидна: Драйвер не получил пакетов от сервера. Превышено время ожидания операции
Так что это проблема с сетью
В целях отладки и устранения проблем, связанных с учетными данными, подумайте о том, чтобы дать ему неправильные учетные данные, чтобы увидеть, что он не работает с другой ошибкой (вероятность того, что это произойдет).
Могу сказать, что в своей работе мы действительно работаем с локально установленной базой данных в аналогичном случае и никогда не сталкивались с подобными проблемами.
Спасибо. Что странно, согласно моему сообщению, я могу получить доступ к базе данных через Eclipse. Что касается моего ответа на вопрос Лукаса, я решил пойти другим путем и сделать это прямо на том же сервере, что и БД, создав библиотечную банку. Эта часть сработала (после того, как я исправил некоторые проблемы с часовыми поясами). Но если я когда-нибудь захочу приблизить его к своему приложению, как часть этого цикла сборки, я обязательно попробую вашу идею с плохими учетными данными. Стоит попробовать.
Насколько быстро происходит соединение между вашей клиентской рабочей станцией и базой данных? Например. у вас есть какое-то значительное отставание между ними?