2017-01-30 3 views
0

MANIFEST.MFを作成するためにmaven-bundle-pluginを使用しています。 Javaコードで検出された依存関係は正常に動作しますが、Spring XMLの内容は無視されます。例えば、私は次の宣言を持っている:maven-bundle-pluginを使用したSpring XMLからの依存関係の追加

<context:mbean-export /> 

    <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> 

    <bean id="jpaVendorAdapter" 
    class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter"> 
    <property name="databasePlatform" 
     value="org.eclipse.persistence.platform.database.PostgreSQLPlatform" /> 
    <property name="generateDdl" value="true" /> 
    </bean> 

だから、明らかに、私のバンドルパッケージorg.springframework.orm.jpa.supportorg.springframework.orm.jpa.vendororg.eclipse.persistence.platform.databaseと私も知らないのMBeanプロセッサのためのいくつかのパッケージをインポートする必要があります。

私が参加していたプロジェクトでは、Springとmaven-bundle-pluginsを使用していましたが、すべての依存関係の検出がうまくいきました。私は何とかXMLファイルを分析するバンドルプラグインに知らせる必要があります。

springプラグインの依存関係をspring XMLから検出するにはどうすればよいですか?私はMavenのバンドル・プラグインはプレーンな春のコンテキストを認識するかどうかわからないのです

<plugin> 
    <groupId>org.apache.felix</groupId> 
    <artifactId>maven-bundle-plugin</artifactId> 
    <executions> 
     <execution> 
     <id>generate-resources</id> 
     <goals> 
      <goal>manifest</goal> 
     </goals> 

     <configuration> 
      <instructions> 
      <Bundle-Name>${project.name}</Bundle-Name> 
      <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> 
      </instructions> 
     </configuration> 
     </execution> 
    </executions> 
    </plugin> 
+0

あなたはMavenのバンドル・プラグインのバージョンを使用しますKaraf Tutorial Part 1を参照してください? –

+0

@ChristianSchneider mvn -Dplugin = org.apache.felix:maven-bundle-pluginヘルプ:説明は3.2.0 –

答えて

1

は、ここに私のバンドルプラグインの設定です。私はそれが青写真のコンテキストで動作することを知っています。とにかくあなたのスプリングコンテキストがMETA-INF/springに置かれていることを確認してください。この場所でのみ認識されます。

いずれにしても、OSGiでスプリングを使用することは、実際はサポートされていません。唯一の準備ができているのは春の午後でしたが、このプロジェクトは死んでいます。牡羊座の青写真では全春の実験的なサポートがありますが、まだ生産段階ではありません。

OSGiで実績のある方法は、青写真(例:牡羊座の青写真)を使用することです。かなりの時間が経ってからビルド中に青写真XMLを作成するためのmavenプラグインがあります。だからあなたのソースでは注釈だけを使用します。

+0

ですが、春のコンテキストがMETA-INF/springにない場合は、バンドルプラグイン、他の場所を使用するには? –

+0

ManifestヘッダーのSpring-Contextでspring xmlの場所を設定できます。 http://docs.spring.io/osgi/docs/current/reference/html/app-deploy.htmlを参照してください。 –

関連する問題