如何开发,构建和部署多个基于OSGi的Web应用程序

时间:2019-03-12 13:41:02

标签: java eclipse maven java-ee eclipse-rap

我正在寻找一种开发,构建和部署多个基于OSGi的Web应用程序(某些RAP)的方法。

首先,我使用从https://github.com/eclipse/rap.git

克隆的RAP示例

releng/org.eclipse.rap.examples.build中,可以使用以下三种应用程序将其构建为war文件:

mvn clean verify

生成的war文件包含所有依赖项以及OSGi环境所需的春分servletbridge。
现在,我可以复制war文件并将其放入应用服务器的webapps中,例如雄猫:

rapdemo.war > http://127.0.0.1:8080/rapdemo/
workbench.war > http://127.0.0.1:8080/workbench/
controls.war > http://127.0.0.1:8080/controls/

这很好用,但是如何使用 equinox servletbridge 在Eclipse中进行开发并自动部署到tomcat / jetty / ...?

我尝试使用jetty maven插件,将以下内容添加到pom文件中:

<plugin>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>9.4.15.v20190215</version>
</plugin>

我在控制台中收到以下消息,但码头未运行:

  

[INFO]跳过org.eclipse.rap.examples.rapdemo.product:包装   类型[eclipse-repository]不支持...
  [INFO]跳过RAP演示   示例构建:不支持包装类型[pom]

也许我需要包装类型为war且具有类似配置的其他Maven项目:

<configuration>
    <scanIntervalSeconds>10</scanIntervalSeconds>
    <webApp>
        <contextPath>/</contextPath>
    </webApp>
    <contextHandlers>
        <contextHandler
            implementation="org.eclipse.jetty.maven.plugin.JettyWebAppContext">
            <war>${project.basedir}/rapdemo/target/rapdemo.war</war>
            <contextPath>/rapdemo</contextPath>
        </contextHandler>
        ...
    </contextHandlers>
</configuration>

0 个答案:

没有答案