0

FUSE ESB で実行される cxf アプリケーションを構築しています。

通常はデータ交換用のアプリケーションを作成していましたが、mysql に接続するアプリケーションを作成する必要があります。

cxf で構成のビルドを開始しましたが、1 つの問題が見つかりました。

クラスを追加するとき:

com.mchange.v2.c3p0

<Import-Package>FUSE ESB で利用可能な cxf アプリケーションから私のアプリケーションが消えます。

 <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>
                    <Import-Package>
                       ......

                        com.mchange.v2.c3p0,
                      ......
                       <DynamicImport-Package>...</DynamicImport-Package>

                </instructions>
            </configuration>
        </plugin>

com.mchange.v2.c3p0pom.xml から削除すると、アプリケーションが表示されます。

私は何をしなければなりませんか?

4

1 に答える 1

0

com.mchange.v2.c3p0 依存関係を解決できないため、バンドルが開始されていないと思います。デフォルトでは、FuseESB には C3P0 依存関係が含まれていないため、それらをプロジェクトに含めるか、別のバンドルとしてデプロイする必要があります。

独自のバンドルで依存関係を提供する場合は、c3p0 パッケージをエクスポートするか、プライベート パッケージとして追加する必要があります。このようなもの

   ...
   <Private-Package>
      ...
      com.mchange.*
      ...
    </Private-Package>
    ...

もちろん、pom に c3p0 の maven 依存関係を追加する必要があります。

とにかく、Lukasz のブログ エントリを読む必要があります。

于 2012-03-27T14:27:46.923 に答える