我对Spring Roo很新,并且在建立与MSSQL数据库的连接时遇到问题。我使用的是Spring Tool Suite和Roo版本1.3.1。当我尝试使用“database introspect --schema dbo”测试与数据库的连接(使用“jpa setup ...”设置)时,我收到以下错误:
Located add-on that may offer this JDBC driver
1 found, sorted by rank; T = trusted developer; R = Roo 1.3 compatible
ID T R DESCRIPTION -------------------------------------------------------------
01 Y Y 1.2.4.0010 #jdbcdriver driverclass:net.sourceforge.jtds.jdbc.Driver
....
JDBC driver not available for 'net.sourceforge.jtds.jdbc.Driver'
之后,我尝试使用以下命令安装驱动程序:
roo> addon install id --searchResultId 01
roo> Target resource(s):
-------------------
Spring Roo - Wrapping - jtds (1.2.4.0010)
Deploying...
done.
驱动程序似乎也出现在插件列表中:
...
58 Y Y 1.2.4.0010 #jdbcdriver driverclass:net.sourceforge.jtds.jdbc.Driver.
This bundle wraps the standard Maven artifact: jtds-1.2.4.
但是当我再次尝试运行数据库introspect命令时,我仍然收到上述消息。按照此处的建议:http://forum.spring.io/forum/spring-projects/roo/118692-unable-to-find-the-jtds-driver我尝试使用以下命令手动安装文件:
osgi start -–url “file:\\\C:\Program Files\Spring Tool Suite\jtds-1.2.4.jar”
但是我得到了例外
org.osgi.framework.BundleException: Unable to cache bundle: file:\C:Program
at org.apache.felix.framework.Felix.installBundle(Felix.java:2947)
并且行为保持不变。我也尝试过Roo版本2,但是“database introspect”命令似乎不可用。
答案 0 :(得分:2)
在OSGi容器中,您必须只安装OSGi包,不能在OSGi容器中安装常规JAR文件。
Spring Roo Wrapping项目通过将常规JARS包装为OSGi包来帮助您实现这一目的。
查看Spring Roo Wrapping project以包装MySQL JDBC驱动程序。
希望它有所帮助,
答案 1 :(得分:2)
而不是
addon install id --searchResultId 01
将其更改为
addon install id --searchResultId 58
然后它将安装JDBC驱动程序,之后您应该能够继续
database introspect --schema dbo