java - 如何开发、构建和部署多个基于 OSGi 的 Web 应用程序
问题描述
我正在寻找一种方法来开发、构建和部署多个基于 OSGi 的 Web 应用程序(一些 RAP)。
首先,我使用从以下克隆的 RAP 示例:https ://github.com/eclipse/rap.git
在releng/org.eclipse.rap.examples.build
其中可以使用以下三个应用程序构建为战争文件:
mvn clean verify
生成的war 文件包括所有依赖项和OSGi 环境所需的Equinox servletbridge。
现在我可以复制war文件并将它们放入webapps
应用程序服务器,例如tomcat:
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/
这很好用,但是我如何在 Eclipse 中开发并使用Equinox servletbridge自动部署到 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>
解决方案
推荐阅读
- reactjs - 如何测试 React 道具中的 html 按钮?
- adobe-xd - Adobe XD Apple UI 资源
- python - 如何在我的 pybuilder 脚本中使用源代码方法?
- excel - 基于当前工作簿中单元格(日期)的 Excel 外部引用
- python - Python中文本文件的排行榜
- java - 为什么我不能在 java 中同时使用 STDdraw 和 STDAudio 类?
- java - 为什么 GIT 中的文本行结尾不统一尽管 * text=auto
- java - setSerializationInclusion(Include.NON_EMPTY) 不排除数组中的 Null
- mysql - mysql 如果用户 ID 存在则 INSERT 否则更新
- java - 获取 DatePickerDialog 的取消按钮参考