我想在OSGi容器中安装两个相同的包或同捆的两倍。 我使用的OSGi容器是FUSE ESB。 下面是包的信息:
pom.xml中:
<groupId>com.helloworldbundle</groupId>
<artifactId>HelloWorldBundle</artifactId>
<version>1.0.0-SNAPSHOT</version>
蓝图:
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
<bean id="helloworldbundlecopybean"
class="com.helloworldbundle.HelloWorld"
init-method="init" destroy-method="destroy">
</bean>
</blueprint>
第一次安装成功。 当我尝试重新安装它,它失败了。 然后,我做项目的副本,并修改它:
变更项目文件夹名称HelloWorldBundleCopy
改变神器
<artifactId>HelloWorldBundleCopy</artifactId>
改变bean的id
<bean id="helloworldbundlecopybeancopy"
但我仍然无法安装修改包:
Error executing command: Error installing bundles:
Unable to install bundle /home/li/Documents/Java/HelloWorldBundleCopy/target/HelloWorldBundleCpoy-1.0.0-SNAPSHOT.jar
更新我的问题:
这里是我的情况:
我有三个主机:主机1,主机2和主机
FUSE ESB OSGi容器安装在主机3。 我需要运行一个服务,就这两个主机1和主机例子的HelloWorld。 而这种服务与FUSE ESB是在主机3注册。
这就是为什么我需要使用FUSE ESB两次注册相同的包。
这里是我的问题:
是否有可能在容器外运行一个包,就像一台主机上运行的HelloWorld套件,但其注册到FUSE ESB不同的主机上? 怎么办呢? 我以前做过的实验是一个服务包注册FUSE ESB在同一台机器通过:
FuseESB:karaf @根>安装文件:/home/li/Documents/Java/HelloWorldBundle/target/HelloWorldBundle-1.0.0-SNAPSHOT.jar
2.How再次修改现有Maven项目,以使安装它,而无需创建一个新的Maven项目?