我正在尝试部署一个带有属性的iPojo包。该包如下所示:
@Component
public class Greeter {
@Property(name = "greeting")
private String greeting;
@Validate
public void start() {
System.out.println(greeting);
}
}pom.xml看起来如下所示:
<groupId>com.example.my</groupId>
<artifactId>osgi-greeter</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.ipojo.annotations</artifactId>
<version>1.12.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- BND Maven Plugin Configuration -->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<!--<Private-Package>$YOUR_PRIVATE_PACKAGE</Private-Package> <Export-Package>$YOUR_EXPORTED_PACKAGE</Export-Package> -->
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-ipojo-plugin</artifactId>
<version>1.12.1</version>
<executions>
<execution>
<goals>
<goal>ipojo-bundle</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>我使用Apache作为OSGi运行时。我添加了文件安装包并配置了它的路径。在路径中,我添加了osgi欢迎包和一个名为com.example.my.Greeter.cfg的配置文件,如下所示:
greeting = Hello World我打开了Felix的调试日志,可以看到文件安装包中装载了它的参数。然而,它并没有做任何事情。我可以手动安装和启动包,但是它显然只输出null到控制台。目标是添加多个配置文件,并让fileinstall从它们启动实例。有什么想法,如何做到这一点,或我可以做什么,使文件安装的工作方式?
发布于 2019-01-10 10:07:09
我设法修好了。基本上,我将多个配置文件添加到被监视的文件安装文件夹中,名为:
我认为在文件名中只需要类名后面的实例标识符才能使其工作。
https://stackoverflow.com/questions/53746098
复制相似问题