首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用创建多个iPojo包实例

使用创建多个iPojo包实例
EN

Stack Overflow用户
提问于 2018-12-12 15:17:11
回答 1查看 138关注 0票数 2

我正在尝试部署一个带有属性的iPojo包。该包如下所示:

代码语言:javascript
复制
@Component
public class Greeter {

    @Property(name = "greeting")
    private String greeting;

    @Validate
    public void start() {
        System.out.println(greeting);
    }

}

pom.xml看起来如下所示:

代码语言:javascript
复制
<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的配置文件,如下所示:

代码语言:javascript
复制
greeting = Hello World

我打开了Felix的调试日志,可以看到文件安装包中装载了它的参数。然而,它并没有做任何事情。我可以手动安装和启动包,但是它显然只输出null到控制台。目标是添加多个配置文件,并让fileinstall从它们启动实例。有什么想法,如何做到这一点,或我可以做什么,使文件安装的工作方式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-10 10:07:09

我设法修好了。基本上,我将多个配置文件添加到被监视的文件安装文件夹中,名为:

  • com.example.my.Greeter-A.cfg
  • com.example.my.Greeter-B.cfg
  • com.example.my.Greeter-C.cfg

我认为在文件名中只需要类名后面的实例标识符才能使其工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53746098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档