我正在寻找一种开发,构建和部署多个基于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>