OSGi DS:未生成 xml 文件
OSGi DS: xml file is not generated
我有以下服务class:
@Component(immediate = true)
@Service
public class Myclass implements MyInterface
{
@Override
public String doIt()
{
return "This is default bean";
}
}
在 pom 文件中我有:
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr.annotations</artifactId>
<version>1.9.6</version>
<scope>provided</scope>
</dependency>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.4.0</version>
<extensions>true</extensions>
<configuration>
<instructions>
<_include>
-target/classes/META-INF/beans.bnd
</_include>
<Export-Package></Export-Package>
<Private-Package>com.company.temp.*</Private-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
<version>1.21.0</version>
<executions>
<execution>
<id>generate-scr-scrdescriptor</id>
<goals>
<goal>scr</goal>
</goals>
</execution>
</executions>
</plugin>
...
<plugins>
</build>
问题是 xml 没有生成 DS 文件。此外,清单文件中没有 Service-Component 行。我的错误在哪里(PS java8)?
如果您打算使用标准的 DS 注释(而不是 felix 注释)。然后只需使用下面的配置。
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.5.4</version>
<extensions>true</extensions>
<configuration>
<instructions>
<_dsannotations>*</_dsannotations>
</instructions>
</configuration>
</plugin>
如果您需要完整的示例,我也有 DS tutorial。
我有以下服务class:
@Component(immediate = true)
@Service
public class Myclass implements MyInterface
{
@Override
public String doIt()
{
return "This is default bean";
}
}
在 pom 文件中我有:
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr.annotations</artifactId>
<version>1.9.6</version>
<scope>provided</scope>
</dependency>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.4.0</version>
<extensions>true</extensions>
<configuration>
<instructions>
<_include>
-target/classes/META-INF/beans.bnd
</_include>
<Export-Package></Export-Package>
<Private-Package>com.company.temp.*</Private-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-scr-plugin</artifactId>
<version>1.21.0</version>
<executions>
<execution>
<id>generate-scr-scrdescriptor</id>
<goals>
<goal>scr</goal>
</goals>
</execution>
</executions>
</plugin>
...
<plugins>
</build>
问题是 xml 没有生成 DS 文件。此外,清单文件中没有 Service-Component 行。我的错误在哪里(PS java8)?
如果您打算使用标准的 DS 注释(而不是 felix 注释)。然后只需使用下面的配置。
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.5.4</version>
<extensions>true</extensions>
<configuration>
<instructions>
<_dsannotations>*</_dsannotations>
</instructions>
</configuration>
</plugin>
如果您需要完整的示例,我也有 DS tutorial。