私はこのマルチモジュールプロジェクトをMavenでビルドしています。次のようにルートにプロジェクトのフォルダ構造は次のとおりです。なぜOSGIバンドルモジュールが2回構築されるのですか
core (dir)
|--- pom.xml
|--- pom (dir)
|---com.loc.dist.core.msp.osgi.pom (dir)
|---pom.xml
|--- com.lgc.dist.core.msp.example.helloservice.client (dir)
|---pom.xml
プロジェクトcom.lgc.dist.core.msp.example.helloservice.client
がOSGI bundle
としてパッケージ化され、それがcom.loc.dist.core.msp.osgi.pom
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.lgc.dist</groupId>
<artifactId>com.lgc.dist.core.msp.osgi.pom</artifactId>
<relativePath>../pom/com.lgc.dist.core.msp.osgi.pom</relativePath>
<version>0.1</version>
</parent>
<artifactId>com.lgc.dist.core.msp.example.helloservice.client</artifactId>
<packaging>bundle</packaging>
<dependencies>
<dependency>
<groupId>com.lgc.dist</groupId>
<artifactId>com.lgc.dist.core.msp.service</artifactId>
<version>0.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<configuration>
<instructions>
<Export-Package>com.lgc.dist.core.msp.example.helloservice.client.*;version=${project.version}</Export-Package>
<Private-Package>com.lgc.dist.core.msp.example.helloservice.client.internal</Private-Package>
<Import-Package>*</Import-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
の子モジュールであるトップレベルのpom.xml
がpom
フォルダを示しており、 com.lgc.dist.core.msp.example.helloservice.client
がリアクタリストにあります。私はルートからmvn clean install
を実行したとき
<modules>
<module>pom</module>
<module>com.lgc.dist.core.msp.example.helloservice.client</module>
</modules>
は、それが二回背中合わせにcom.lgc.dist.core.msp.example.helloservice.client
を構築する傾向があります。 2度インストールしても問題ありませんが、mvn deploy
を実行すると問題が発生します。他のすべてのサブモジュールは一度構築されました。 com.loc.dist.core.msp.osgi.pom
の子モジュールのみが2回構築されています。私はosgiがデフォルトですべてのバンドルモジュールをビルドすると思います。しかし、pom.xmlでコメントアウトすれば、osgiバンドルモジュールはまったく構築されません。これらのOSGIバンドルを一度作成するにはどうすればよいですか?私はbundle
からjar
にパッケージングモードを変更する場合、それは正常に動作しますが、それはOSGiバンドルを持つことの目的を否定
EDIT。
あなたの "有効なポン"を見ましたか? – Guilherme
@elizeire何がありますか? – ddd