你如何在启动时在apache-karaf中部署战争

时间:2012-12-13 19:25:31

标签: war apache-karaf

我已经通过运行osgi:install命令(如

)创建了一个我在karaf中部署的war文件
osgi:install -s file:/system/com/mywebapp/1.0.0/mywebapp-1.0.0.war 

如何配置karaf以便在karaf实例启动时发生这种情况?

我已经更改了org.apache.karaf.features.cfg文件以默认启动war功能

featuresBoot=config,ssh,management,kar,war

2 个答案:

答案 0 :(得分:3)

以下是war文件的示例features.xml -

<?xml version="1.0" encoding="UTF-8"?>
<features name="feature-set">
    <feature name="my-feature" version="1.0.0"
        xmlns="http://karaf.apache.org/xmlns/features/v1.0.0">

        <feature>war</feature>
        <bundle>mvn:com.foo/mywebapp/1.0.0/war</bundle>
    </feature>
</features>

重要的部分是war文件的mvn url“mvn:com.foo / mywebapp/1.0.0 / war”。如果你错过路径中的后缀/ war,maven url会查找一个jar文件。

答案 1 :(得分:2)

最好创建自己的功能文件并从此功能文件开始战争,使用它还可以设置startlevel及其依赖项。 另一种部署方式是将war放在deploy文件夹中。