我试图在 JFUSE 项目中连接数据库。我在 pom 文件中包含了 com.mysql.jdbc 依赖项,并且项目构建运行良好。但是后来我遇到了这个烦人的问题。当我尝试将捆绑包安装到 OSGi 时,安装失败并出现以下错误:
无法启动捆绑 mvn:com.info.demo/demo-rest/1.0:捆绑 com.info.demo.rest [363] 中未解决的 constraint:无法解决 363.0:缺少要求 [363.0] osgi.wiring.package;(osgi.wiring.package=com.mysql.jdbc)
我尝试了 SO 提供的所有可用解决方案,但他们没有解决问题。当我试图找出错误原因时,我在 IDE 中的 mysql 依赖声明中看到警告说:
Maven 依赖没有 OSGi 准备好
所以,我想主要原因是我的依赖还没有为 OSGi 容器做好准备。谁能帮我准备好maven依赖OSGi?
下面是我的 pom.xml 代码:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
***Project specific declarations here***
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.1.0</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Fragment-Host>org.springframework.jdbc</Fragment-Host>
<Import-Package>com.mysql.jdbc</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.mysql.jdbc</groupId>
<artifactId>com.springsource.com.mysql.jdbc</artifactId>
<version>5.1.6</version>
</dependency>
***Other Dependencies***
</dependencies>
编辑: 我听从了克里斯汀的建议,效果很好。但我需要添加其他未准备好 OSGi 的依赖项。
我将非 OSGi 依赖项安装到 FUSE 服务器。并且还包装了依赖项,但没有解决问题。
请帮助我详细解决方案,我真的被困在这里。