JDBC 驱动程序不适用于 Spring Roo 上的 'org.postgresql.Driver'
JDBC driver not available for 'org.postgresql.Driver' on Spring Roo
我正在尝试使用 database reverse engineer
...请参阅完整的 Roo v1.3 脚本和 UBUNTU 环境 this simple "hello" script。
错误:
Located add-ons that may offer this JDBC driver
2 found, sorted by rank; T = trusted developer; R = Roo 1.3 compatible
ID T R DESCRIPTION -------------------------------------------------------------
01 Y Y 9.1.0.901-1_0001 Postgres #jdbcdriver...
02 Y Y 9.1.0.901_0001 Postgres #jdbcdriver...
--------------------------------------------------------------------------------
[HINT] use 'addon info id --searchResultId ..' to see details about a search result
[HINT] use 'addon install id --searchResultId ..' to install a specific search result, or
[HINT] use 'addon install bundle --bundleSymbolicName TAB' to install a specific add-on version
JDBC driver not available for 'org.postgresql.Driver'
注意事项
这是 spring.io/spring-roo 快速指南 10 行示例的变体。很简单...
在项目和数据库 Roo 初始化之后(并且工作正常),
project --topLevelPackage com.testRoo1Hello2pg
jpa setup --provider HIBERNATE --database POSTGRES --databaseName hello2db --userName postgresql --password postgres
database.properties好像是:
database.driverClassName=org.postgresql.Driver
database.url=jdbc\:postgresql\://localhost\:5432/hello2db
database.username=postgresql
database.password=postgres
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.hibernate.ddl-auto=create-drop
失败的命令是:
database reverse engineer --schema public --includeTables "test1"
有关详细信息,请参阅 roo1/hello3pg.md。
Spring Roo shell 向您显示的消息不是错误。让我们检查一下:
Located add-ons that may offer this JDBC driver
2 found, sorted by rank; T = trusted developer; R = Roo 1.3 compatible
ID T R DESCRIPTION -------------------------------------------------------------
01 Y Y 9.1.0.901-1_0001 Postgres #jdbcdriver...
02 Y Y 9.1.0.901_0001 Postgres #jdbcdriver...
--------------------------------------------------------------------------------
[HINT] use 'addon info id --searchResultId ..' to see details about a search result
[HINT] use 'addon install id --searchResultId ..' to install a specific search result, or
[HINT] use 'addon install bundle --bundleSymbolicName TAB' to install a specific add-on version
JDBC driver not available for 'org.postgresql.Driver'
此消息在执行 database reverse engineer --schema public --includeTables "test1"
命令后出现。
Spring Roo 正在尝试连接 Postgres 数据库但是..哦哦...在 OSGi 上下文中部署的 Postgres 数据库不存在 JDBC 驱动程序(记住 Spring Roo 在 OSGi 环境下工作),所以无法连接到数据库。
Spring Roo shell 为您提供了一些选项来解决上述问题。因此,如果您阅读了该消息,则可以检查您是否能够使用以下命令将 Postgres JDBC 驱动程序安装到 OSGi 上下文中。
addon install bundle --searchResultId 01
(01 id为ID栏下的数字)
执行安装OSGi包的命令后,再次尝试执行逆向工程命令。
应该可以!
希望对您有所帮助,
注意:如果您有兴趣了解更多关于 OSGi 和 Apache Felix 实现的信息,您可以阅读 http://felix.apache.org/ and https://www.osgi.org/developer/specifications/
我都试过了
addon install bundle --searchResultId 01
和
addon install bundle --searchResultId 02
并且仍然收到未找到驱动程序消息 JDBC driver not available for 'org.postgresql.Driver'
。
对我有用的是安装以前版本的捆绑包。
osgi install --url http://spring-roo-repository.springsource.org/release/org/springframework/roo/wrapping/org.springframework.roo.wrapping.postgresql-jdbc3/9.0.801.0001/org.springframework.roo.wrapping.postgresql-jdbc3-9.0.801.0001.jar
我在 docker 容器上使用 PostgreSQL 9.4 运行。
我正在尝试使用 database reverse engineer
...请参阅完整的 Roo v1.3 脚本和 UBUNTU 环境 this simple "hello" script。
错误:
Located add-ons that may offer this JDBC driver
2 found, sorted by rank; T = trusted developer; R = Roo 1.3 compatible
ID T R DESCRIPTION -------------------------------------------------------------
01 Y Y 9.1.0.901-1_0001 Postgres #jdbcdriver...
02 Y Y 9.1.0.901_0001 Postgres #jdbcdriver...
--------------------------------------------------------------------------------
[HINT] use 'addon info id --searchResultId ..' to see details about a search result
[HINT] use 'addon install id --searchResultId ..' to install a specific search result, or
[HINT] use 'addon install bundle --bundleSymbolicName TAB' to install a specific add-on version
JDBC driver not available for 'org.postgresql.Driver'
注意事项
这是 spring.io/spring-roo 快速指南 10 行示例的变体。很简单...
在项目和数据库 Roo 初始化之后(并且工作正常),
project --topLevelPackage com.testRoo1Hello2pg
jpa setup --provider HIBERNATE --database POSTGRES --databaseName hello2db --userName postgresql --password postgres
database.properties好像是:
database.driverClassName=org.postgresql.Driver
database.url=jdbc\:postgresql\://localhost\:5432/hello2db
database.username=postgresql
database.password=postgres
spring.jpa.hibernate.naming.strategy=org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.hibernate.ddl-auto=create-drop
失败的命令是:
database reverse engineer --schema public --includeTables "test1"
有关详细信息,请参阅 roo1/hello3pg.md。
Spring Roo shell 向您显示的消息不是错误。让我们检查一下:
Located add-ons that may offer this JDBC driver
2 found, sorted by rank; T = trusted developer; R = Roo 1.3 compatible
ID T R DESCRIPTION -------------------------------------------------------------
01 Y Y 9.1.0.901-1_0001 Postgres #jdbcdriver...
02 Y Y 9.1.0.901_0001 Postgres #jdbcdriver...
--------------------------------------------------------------------------------
[HINT] use 'addon info id --searchResultId ..' to see details about a search result
[HINT] use 'addon install id --searchResultId ..' to install a specific search result, or
[HINT] use 'addon install bundle --bundleSymbolicName TAB' to install a specific add-on version
JDBC driver not available for 'org.postgresql.Driver'
此消息在执行 database reverse engineer --schema public --includeTables "test1"
命令后出现。
Spring Roo 正在尝试连接 Postgres 数据库但是..哦哦...在 OSGi 上下文中部署的 Postgres 数据库不存在 JDBC 驱动程序(记住 Spring Roo 在 OSGi 环境下工作),所以无法连接到数据库。
Spring Roo shell 为您提供了一些选项来解决上述问题。因此,如果您阅读了该消息,则可以检查您是否能够使用以下命令将 Postgres JDBC 驱动程序安装到 OSGi 上下文中。
addon install bundle --searchResultId 01
(01 id为ID栏下的数字)
执行安装OSGi包的命令后,再次尝试执行逆向工程命令。
应该可以!
希望对您有所帮助,
注意:如果您有兴趣了解更多关于 OSGi 和 Apache Felix 实现的信息,您可以阅读 http://felix.apache.org/ and https://www.osgi.org/developer/specifications/
我都试过了
addon install bundle --searchResultId 01
和
addon install bundle --searchResultId 02
并且仍然收到未找到驱动程序消息 JDBC driver not available for 'org.postgresql.Driver'
。
对我有用的是安装以前版本的捆绑包。
osgi install --url http://spring-roo-repository.springsource.org/release/org/springframework/roo/wrapping/org.springframework.roo.wrapping.postgresql-jdbc3/9.0.801.0001/org.springframework.roo.wrapping.postgresql-jdbc3-9.0.801.0001.jar
我在 docker 容器上使用 PostgreSQL 9.4 运行。