Karaf简单的AmazonS3Client调用中的NoClassDefError

时间:2015-01-13 15:07:18

标签: java maven karaf

如何在Karaf中正确导入/导出依赖项?

我有一个调用AmazonS3Ciient类的简单servlet

我的pom.xml

<plugin>
                            <groupId>org.apache.felix</groupId>
                            <artifactId>maven-bundle-plugin</artifactId>
                            <extensions>true</extensions>
                            <configuration>
                                    <supportedProjectTypes>
                                            <supportedProjectType>jar</supportedProjectType>
                                            <supportedProjectType>bundle</supportedProjectType>
                                            <supportedProjectType>war</supportedProjectType>
                                    </supportedProjectTypes>
                                    <instructions>
                                            <Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName>
                                            <Bundle-Version>${project.version}</Bundle-Version>
                                            <Import-Package>
                                               com.amazonaws.*,
                                                    *;resolution:=optional
                                            </Import-Package>
                                            <Export-Package>
                                                    !*
                                            </Export-Package>
                                            <Bundle-Classpath>
                                                    WEB-INF/classes
                                            </Bundle-Classpath>
                                            <Web-ContextPath>agwar</Web-ContextPath>
                                    </instructions>
                            </configuration>
                            <executions>
                                    <execution>
                                            <id>generate-manifest</id>
                                            <phase>process-classes</phase>
                                            <goals>
                                                    <goal>manifest</goal>
                                            </goals>
                                    </execution>
                            </executions>
                    </plugin>
                    <plugin>
                            <artifactId>maven-war-plugin</artifactId>
                            <configuration>
                                    <archive>
                                            <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                                    </archive>
                            </configuration>
                    </plugin>

我收到错误noclassdeferror我认为这是一个缺失的依赖或依赖冲突?

我试图找到这个类,它出现在两个包

karaf@root()> find-class AmazonS3Client

Apache ServiceMix :: Bundles :: aws-java-sdk (133)
com/amazonaws/services/s3/AmazonS3Client$1.class
com/amazonaws/services/s3/AmazonS3Client$2.class
com/amazonaws/services/s3/AmazonS3Client$3.class
com/amazonaws/services/s3/AmazonS3Client.class

OPS4J Pax Web - Samples - Servlet3 (139)
com/amazonaws/services/s3/AmazonS3Client$1.class
com/amazonaws/services/s3/AmazonS3Client$2.class
com/amazonaws/services/s3/AmazonS3Client$3.class
com/amazonaws/services/s3/AmazonS3Client.class

不确定如何解决这个问题:(

提前致谢

0 个答案:

没有答案