gpt4 book ai didi

java - Karaf/Maven - 运行时找不到类

转载 作者:行者123 更新时间:2023-12-01 11:29:52 26 4
gpt4 key购买 nike

我已经使用 maven 为 Karaf 构建了一个 bundle ,并且包含了 org.postgresql 依赖项

<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4-1201-jdbc41</version>
</dependency>

我还将最新版本的 jar 包含到 Karaf 的 lib/ext/目录中。 bundle 已正确加载。但是,在运行时,当 bundle 尝试使用以下方式加载驱动程序时:

Class.forName("org.postgresql.Driver");

我收到以下错误:

2015-05-28 14:36:07,218 | ERROR | qtp1270203840-47 | MyBundleServlet               | 124 - MyBundle - 1.0.0.SNAPSHOT | org.postgresql.Driver not found by MyBundle [124]
java.lang.ClassNotFoundException: org.postgresql.Driver not found by MyBundle [124]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)[org.apache.felix.framework-4.2.1.jar:]
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)[org.apache.felix.framework-4.2.1.jar:]
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)[:1.7.0_75]
at java.lang.Class.forName0(Native Method)[:1.7.0_75]
at java.lang.Class.forName(Class.java:191)[:1.7.0_75]
...

我还有什么要补充的吗?

最佳答案

我通过在我的 <Embed-Dependency> 中使用相应的标签( pom.xml )嵌入依赖关系来解决.

<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Import-Package>*;resolution:=optional,!org.postgresql</Import-Package>
<Embed-Dependency>postgresql</Embed-Dependency>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>${skipTests}</skipTests>
</configuration>
</plugin>
</plugins>
</build>

关于java - Karaf/Maven - 运行时找不到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30506932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com