我正在尝试使用apache camel访问MS SQL数据库。我正在使用maven作为捆绑构建它并将其部署在apache karaf上。为此,我在blueprint.xml中得到以下内容
<bean id="dataSource" class="net.sourceforge.jtds.jdbcx.JtdsDataSource">
<property name="url" value="" />
<property name="user" value="paygate" />
<property name="password" value="" />
</bean>
<service interface="javax.sql.DataSource" ref="dataSource">
<service-properties>
<entry key="osgi.jndi.service.name" value="jdbc/mssqlDatasource" />
</service-properties>
</service>
但现在我在我的karaf日志中得到以下内容
missing requirement [1374.6] osgi.wiring.package; (osgi.wiring.package=net.sourceforge.jtds.jdbcx)
这是使用&#39; jdbc:create&#39;在karaf中创建数据源时生成的类。
为什么没有卡拉夫找到那个班级?
答案 0 :(得分:1)
使用以下命令安装jtds jar作为包:
install -s wrap:mvn: net.sourceforge.jtds /jtds/1.3.0
更改版本号以匹配您的jar版本,这将解决问题。
答案 1 :(得分:0)
它是MSSQL数据源,
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"/>
<property name="url" value="jdbc:jtds:sqlserver://localhost:1433;databaseName=testdb"/>
<property name="username" value="sa"/>
<property name="password" value="root"/>
</bean>
然后你应该在karaf容器中安装dbcp和jtds依赖项。它工作正常。