OSGI插件(plugin)web工程建设步骤
- 所有资源下载(汇总)
底包的下载地址:https://pan.baidu.com/s/15JxHOHf0AyZaLKPJUkpeXA 提取码: bujz
web-target.war下载地址: https://pan.baidu.com/s/1zwoSqaPJ6CUGYbv8Nra2jA 提取码: 4rxq
普通web工程下载地址: https://pan.baidu.com/s/1P4KdvupgYPRDPBU5HvyoRg 提取码: phad
- 新建Maven的Web工程
- 生成web工程相关的目录结构
当前的目录结构
生成web工程目录结构的操作步骤
这样就生成Web工程相关的目录结构,如下图所示
- 修改web工程为插件工程(plugin-project)
打开META-INF目录下的MANIFEST.MF文件
源文件内容
Manifest-Version: 1.0
Class-Path:
修改后的文件内容
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: KSZSA Manager web Target
Bundle-SymbolicName: com.kszsa.target
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: KSZSA
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: WEB-INF/classes
Web-ContextPath: /web-target
关闭MANIFEST.MF文件,并重新打开
关闭之前截图
重新打开之后
这样说明,插件工程配置准确。
- 新建html页面,用户测试
修改index.html文件内容
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>测试首页</title>
</head>
<body> <h2>首页导航</h2>
<p>这是测试页</p>
</body>
</html>
- 打war包,并放入产品底包
产品底包,打包步骤,参考OSGI底包制作过程:https://www.cnblogs.com/dyh004/p/10644123.html
- 把war包,放入底包,并运行
底包的下载地址:https://pan.baidu.com/s/15JxHOHf0AyZaLKPJUkpeXA 提取码: bujz
web-target.war下载地址: https://pan.baidu.com/s/1zwoSqaPJ6CUGYbv8Nra2jA 提取码: 4rxq
把web-target.war放入plugins目录下
运行底包:双击start.bat,运行底包
运行结果
在黑框中,回车,进入osgi命令控制输入状态
安装war包,输入命令:install webbundle:file:plugins/web-target.war
输入ss命令,查看war包状态
说明war包安装成功。
启动war包,命令start 44,并查看war的启动情况
说明war包启动成功。
- 访问界面,查看结果
说明web工程部署成功。
- 把war配置到产品启动项
打开低包configuration目录下的config.ini文件,在文件倒数第二行添加如下内容
plugins/web-target.war@5:start
修改注意事项
修改后的config.ini内容
osgi.bundles=plugins/com.springsource.javax.activation-1.1.1.jar,\
plugins/javax.annotation-1.2.0.v201401042248.jar,\
plugins/javax.ejb-3.1.1.v201204261316.jar,\
plugins/javax.el-3.0.0.20180730.jar,\
plugins/javax.mail-1.4.0.v201005080615.jar,\
plugins/javax.persistence-2.1.0.v201304241213.jar,\
plugins/javax.security.auth.message-1.1.0.20180730.jar,\
plugins/javax.servlet-3.1.0.20180730.jar,\
plugins/javax.servlet.jsp-2.3.0.20180730.jar,\
plugins/javax.transaction-1.1.0.v201205091237.jar,\
plugins/javax.websocket-1.1.0.20180730.jar,\
plugins/javax.xml.rpc-1.1.0.v201005080400.jar,\
plugins/javax.xml.soap-1.3.0.v201105210645.jar,\
plugins/org.apache.catalina-8.5.35.jar,\
plugins/org.apache.catalina.ha-8.5.35.jar,\
plugins/org.apache.catalina.tribes-8.5.35.jar,\
plugins/org.apache.coyote-8.5.35.jar,\
plugins/org.apache.el-8.5.35.jar,\
plugins/org.apache.jasper-8.5.35.jar,\
plugins/org.apache.juli-8.5.35.jar,\
plugins/org.apache.tomcat.api-8.5.35.jar,\
plugins/org.apache.tomcat.jni-8.5.35.jar,\
plugins/org.apache.tomcat.util-8.5.35.jar,\
plugins/org.apache.tomcat.util.scan-8.5.35.jar,\
plugins/org.apache.tomcat.websocket-8.5.35.jar,\
plugins/org.eclipse.jdt.core.compiler.batch-3.12.3.v20170228-1205,\
plugins/org.eclipse.virgo.util.common-3.6.3.RELEASE.jar,\
plugins/org.eclipse.virgo.util.io-3.6.3.RELEASE.jar,\
plugins/org.eclipse.virgo.util.math-3.6.3.RELEASE.jar,\
plugins/org.eclipse.virgo.util.osgi-3.6.3.RELEASE.jar,\
plugins/org.eclipse.virgo.util.osgi.manifest-3.6.3.RELEASE.jar,\
plugins/org.eclipse.virgo.util.parser.manifest-3.6.3.RELEASE.jar,\
plugins/org.slf4j.api-1.7.2.v20121108-1250.jar,\
plugins/org.slf4j.nop-1.7.2.v201212060727.jar,\
plugins/org.eclipse.gemini.web.core-3.0.4.RELEASE.jar@start,\
plugins/org.eclipse.gemini.web.tomcat-3.0.4.RELEASE.jar@start,\
plugins/org.eclipse.gemini.web.jaspic.fragment-3.0.4.RELEASE.jar,\
plugins/org.eclipse.gemini.web.extender-3.0.4.RELEASE.jar@start,\
plugins/org.apache.felix.gogo.command_0.10.0.v201209301215.jar@start,\
plugins/org.apache.felix.gogo.runtime_0.10.0.v201209301036.jar@start,\
plugins/org.apache.felix.gogo.shell_0.10.0.v201212101605.jar@start,\
plugins/org.eclipse.equinox.console_1.1.0.v20140131-1639.jar@start,\
plugins/web-console.war@5:start,\
plugins/web-target.war@5:start
eclipse.ignoreApp=true
修改后,重启产品,直接访问web即可
以上内容是安装插件web工程,关于普通的web工程安装方式需要制定发布路径
普通web工程即新建普通的动态工程,不需要对MANIFEST.MF文件进行修改
普通web工程下载地址: https://pan.baidu.com/s/1P4KdvupgYPRDPBU5HvyoRg 提取码: phad
这种普通web工程,安装时,需要制定工程根路径
osgi> install webbundle:file:simple-war.war?Web-ContextPath=/simple-war
Bundle id is 43
osgi> start 43
OSGI插件(plugin)web工程建设步骤的更多相关文章
- 购物商城学习--第三讲(tomcat插件启动web工程)
此处提到的tomcat插件即maven工程集成的tomcat插件,可以在添加maven的tomcat插件之后,在本地通过脚本或者命令行方式运行web工程,tomcat插件启动只需要修改一个端口即可,非 ...
- (转)淘淘商城系列——使用maven tomcat插件启动web工程
http://blog.csdn.net/yerenyuan_pku/article/details/72672138 上文我们一起学习了怎样搭建maven工程,这篇文章我就来教大家一起学习怎样用to ...
- 搭建maven支持的web工程的步骤
搭建一个新的web project的整体思路:先用maven搭建项目的骨架,生成mvn project,然后将mvn project转换为web project,最后添加相关的Spring,hiber ...
- myeclipse maven tomcat插件 创建web工程
自从有了云笔记,很久不写博客了.今天写了使用Freemarker静态化JSP页面,索性就发出来.初学,勿喷. 这篇文字以前放在云笔记里,当然里面有很多借鉴网络上的东西,而自己也使用Maven很久了,索 ...
- 如何通过Maven的Jetty插件运行Web工程
首先建议使用jetty9,因为据官方文档显示,Jetty 7 and Jetty 8 are now EOL (End of Life),如下.但是由于项目使用的版本一般都比较低,这里以jetty8为 ...
- 如何通过Maven的Tomcat插件运行Web工程
去tomcat官网http://tomcat.apache.org/,左侧栏Apache Tomcat下的Maven Plugin,点进去选择最新版本Version 2.2 通过介绍可知,使用tomc ...
- IntelliJ IDEA——利用maven插件构建web工程
- eclipse+maven+tomcat构建web工程
我们要利用Maven构建一个web应用,开发环境为eclipse+tomcat.构建过程如下: 1.工具准备 eclipse:版本为eclipse 4.2(Juno Service),maven插件的 ...
- (转)淘淘商城系列——使用maven tomcat插件启动聚合工程
http://blog.csdn.net/yerenyuan_pku/article/details/72672389 上文我们一起学习了如何使用maven tomcat插件来启动web工程,本文我们 ...
随机推荐
- 痞子衡嵌入式:ARM Cortex-M调试那些事(1)- 4线协议标准(JTAG)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式调试里的接口标准JTAG. 在结束<ARM Cortex-M文件那些事>系列文章之后,痞子衡休整了一小段时间,但是讲课的 ...
- 第36章 扩展授权 - Identity Server 4 中文文档(v1.0.0)
OAuth 2.0为令牌端点定义了标准授权类型,例如password,authorization_code和refresh_token.扩展授权是一种添加对非标准令牌颁发方案(如令牌转换,委派或自定义 ...
- DSAPI之摄像头追踪指定颜色物体
Private CAM As New DSAPI.摄像头_avicap32 Private Clr As Color = Color.FromArgb(230, 50, 50) Private _Lo ...
- vb.net 分割byte数组的方法SplitBytes
以下代码随手写的 并没有大量测试 效率也有待提升 如果需要C#的请自行转换 Function SplitBytes(Data As Byte(), Delimiter As Byte()) As Li ...
- MySQL数据库性能优化(享学课堂听课笔记)
1.场景: 2张表A表 200W条数据,关联表B表3W条数据,AB有主外键关系. 案例1. 35S 使用关联子查询,查询时间35S 案例2. 19S 使用连表查询 (Left join ,Inner ...
- 使用Common.Logging+log4net规范日志管理【转载】
使用Common.Logging+log4net规范日志管理 Common.Logging+(log4net/NLog/) common logging是一个通用日志接口,log4net是一个强大 ...
- 【转】Android 开发规范(完结版)
摘要 1 前言 2 AS 规范 3 命名规范 4 代码样式规范 5 资源文件规范 6 版本统一规范 7 第三方库规范 8 注释规范 9 测试规范 10 其他的一些规范 1 前言 为了有利于项目维护.增 ...
- rocketmq 发送时异常:system busy 和 broker busy 解决方案
记一次 rocketmq 使用时的异常. 这里就不说什么rocketmq 源码啥的了,因为没看过.网上一搜这两个异常 大部分都是什么源码解读,也没说出现后的解决办法(蓝瘦香菇). 大量测试发现: 1. ...
- Servlet版本冲突引起的Error
本地打包部署应用都可以正常启动和响应请求,但是通过CI打包部署到服务器有请求进来时就会报错: java.lang.NoSuchMethodError: javax.servlet.http.HttpS ...
- 中间件(3)NoSQL
NoSQL最常见的解释是non-relational,或者not only SQL,从字段意思上就可以看出,它是指非关系型数据库的统称. NoSQL诞生的背景 随着大型网站分布式架构的发展,使用传统关 ...