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工程,本文我们 ...
随机推荐
- Python3+Selenium2完整的自动化测试实现之旅(六):Python单元测试模块Unittest运用
一.Unittest单元测试框架简介 Unitest是Python下的一个单元测试模块,是Python标准库模块之一,安装完Python后就可以直接import该模块,能在单元测试下编写具体的测试用例 ...
- iOS 加锁的方式
iOS多线程编程中,经常碰到多个线程访问共同的一个资源,在线程相互交互的情况下,需要一些同步措施,来保证线程之间交互的时候是安全的.下面我们一起看一下学一下iOS的几种常用的加锁方式,希望对大家有所帮 ...
- 第41章 CORS - Identity Server 4 中文文档(v1.0.0)
第41章 CORS IdentityServer中的许多端点将通过基于JavaScript的客户端的Ajax调用进行访问.鉴于IdentityServer最有可能托管在与这些客户端不同的源上,这意味着 ...
- PLSQL创建Oracle定时任务
在使用oracle最匹配的工具plsql的时候,如果用plsql创建定时器呢?下面我简单介绍使用工具创建定时器的方法: 1.创建任务执行的存储过程,如名称为YxtestJob,向测试表中插入数据 cr ...
- 《CLR via C#》读书笔记(一)——CLR的执行模式
前言 万事开头难,很早之前就想写博客记录些东西,迟迟未行动,甚是遗憾.原因诸多,大体上无非都是懒.没意志力等等.这次从自己的读书笔记开始,兴许能够有所改变. 一.CLR概念 CLR(Common La ...
- C#___.net经典题
1 请你说说 .NET 中类和结构的区别? 答:结构和类具有大体的语法,但是结构受到的限制比类要多.结构不能申明有默认的构造函数,为结构的副本是又编译器创建 和销毁的,所以不需要默认的构造函数和 ...
- python学习笔记(十 四)、web.py
使用web.py 通过python进行网页的编写,下面我们来简单了解一哈web.py 的使用 1 url处理 使用特定的url结构来解析我们发送的请求.如下面所示: urls = ( '/login' ...
- 【.Net Core】处理静态文件
静态文件存储在项目的 Web 根目录中. 默认目录是 <content_root>/wwwroot,但可通过 UseWebRoot 方法更改目录. public class Program ...
- win10系统下安装MySQLdb和pymysql
(1)使用的是Python3.6,想要使用MySQLdb, 需要先在https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient中下载相应版本的包 ...
- JVM内存管理 《深入分析java web 技术内幕》第八章
8.1 物理内存与虚拟内存 物理内存RAM(随机存储器),寄存单元为寄存器,用于存储计算单元执行指令的中间结果. 连接处理器和RAM或者处理器和寄存器的是地址总线,这个地址的宽度影响了物理地址的索引范 ...