1

Karafで依存関係を適切にインポート/エクスポートする方法は?

AmazonS3Ciient クラスを呼び出す単純なサーブレットがあります。

私の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

これを解決する方法がよくわかりません:(

前もって感謝します

4

0 に答える 0