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
原文地址:https://www.cnblogs.com/dyh004/p/10647106.html