上一篇说了很多虚的东西,现在说点别的。

OSGi系统的独立环境下的项目结构以及启动脚本。

先说项目结构,基于equinox的OSGi容器的项目结构如下所示:

bin中定义启动脚本,停止脚本之类的。

configuration定义配置文件,比如:config.ini,log4j.properties等配置文件。

environment包含了一些基础bundle,比如:spring系列;log4j等。

platform是基于OSGi上的,做二次开发的bundle。

这里面比较麻烦的就是,osgi这个bundle最好和configuration在同级目录下,这样生成的缓存文件就在configuration中。

再说说启动脚本。

直接上代码吧:

@echo off

if "%JAVA_HOME%" == "" (
    echo The JRE was not found in directory %JAVA_HOME%. ^(JAVA_HOME^)
    echo Please edit your environment and set the JAVA_HOME
    echo variable to point to the root directory of your Java installation.
    goto :EOF
)

set MEM_ARGS=-Xms512m -Xmx512m -Xmn256M -XX:PermSize=128m -XX:MaxPermSize=128m
set JAVA_OPTIONS=%JAVA_OPTIONS% -XX:+UseParNewGC -XX:ParallelGCThreads=5 -XX:CMSFullGCsBeforeCompaction=5 -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=40 -XX:+UseAdaptiveSizePolicy -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass

rem set CLASSPATH=%CLASSPATH%
rem "%JAVA_HOME%\bin\java" %MEM_ARGS% %JAVA_OPTIONS% -Dorg.osgi.framework.bootdelegation=javax.*,org.ietf.*,org.omg.*,org.w3c.*,org.xml.*,sun.*,com.sun.* -jar equinox.jar -console

set CLASSPATH=%CLASSPATH%;../org.eclipse.osgi-3.9.1.v20130814-1242.jar
set WEAVING_OPTIONS=-Daj.weaving.verbose=true -Dorg.aspectj.weaver.showWeaveInfo=true -Dorg.aspectj.osgi.verbose=true
"%JAVA_HOME%\bin\java" %MEM_ARGS% %JAVA_OPTIONS% -classpath %CLASSPATH% %WEAVING_OPTIONS% -Dorg.osgi.framework.bootdelegation=javax.*,java.*,org.ietf.*,org.omg.*,org.w3c.*,org.xml.*,sun.*,com.sun.* org.eclipse.core.runtime.adaptor.EclipseStarter -console

:EOF

简单说说bat的语法。

rem是个注释命令,该命令后的内容在程序执行的时候将不被显示与执行。

echo是一个回显命令,主要参数有off(不显示)和on(显示),一般用其输出一个特定的消息。

符号(@):关闭当前行的回显。

OSGi 学习(二)的更多相关文章

  1. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  2. ReactJS入门学习二

    ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...

  3. TweenMax动画库学习(二)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

  4. Hbase深入学习(二) 安装hbase

    Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...

  5. Struts2框架学习(二) Action

    Struts2框架学习(二) Action Struts2框架中的Action类是一个单独的javabean对象.不像Struts1中还要去继承HttpServlet,耦合度减小了. 1,流程 拦截器 ...

  6. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  7. Quartz学习--二 Hello Quartz! 和源码分析

    Quartz学习--二  Hello Quartz! 和源码分析 三.  Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...

  8. SpringCloud学习(二):微服务入门实战项目搭建

    一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...

  9. DjangoRestFramework学习二之序列化组件、视图组件 serializer modelserializer

      DjangoRestFramework学习二之序列化组件.视图组件   本节目录 一 序列化组件 二 视图组件 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 序列化组 ...

  10. SpringMVC入门学习(二)

    SpringMVC入门学习(二) ssm框架 springMVC  在上一篇博客中,我简单介绍了一下SpringMVC的环境配置,和简单的使用,今天我们将进一步的学习下Springmvc的操作. mo ...

随机推荐

  1. bzoj 1001: [BeiJing2006]狼抓兔子 平面图最小割

    平面图跑最大流 可以转换为其对偶图跑最短路 一个环对应一个割  找到最小环(即最短路)极为所求,注意辅助边的建立 加入读入优化  不过时间还是一般  估计是dij写的不好   大神勿喷~~~ /*** ...

  2. 【JSONCpp】简介及demo

    一.JSON简介 JSON 一种轻量级的数据交换格式,易于阅读.编写.解析,全称为JavsScript ObjectNotation. JSON由两种基本结构组成 ①   名字/值 对的集合,可以理解 ...

  3. 关于jQuery中,animate、slide、fade等动画的连续触发、滞后反复执行的bug的个人解决办法

    照例,现在开头讲个这个问题发生的背景吧: 因为最近要做个操作选项的呼出,然后就想到了用默认隐藏,鼠标划过的时候显示的方法. 刚开始打算添加一个class="active",直接触发 ...

  4. 大连网络赛 1006 Football Games

    //大连网络赛 1006 // 吐槽:数据比较水.下面代码可以AC // 但是正解好像是:排序后,前i项的和大于等于i*(i-1) #include <bits/stdc++.h> usi ...

  5. 使用PowerDesigner 设计SQL Server 数据库

    工具: Sybase PowerDesigner 12.5 Microsoft  SQL Server 2005 第一步:概念数据模型 打开PowerDesigner 软件,设计“概念数据模型”(Co ...

  6. librtmp推流使用aac编码音频的html5和flash播放问题

    公司项目中使用rtmp推流,音频编码aac.视频编码H264.windows和android平台都没有发现问题.然而在IOS版本的APP中发现几个问题:1. 推流后flash播放异常2. IOS平台微 ...

  7. 批量ping主机脚本

    #! /bin/bash for i in `cat test.list`do   host=`echo $i|awk -F"," '{print $1}'`   app_IP=` ...

  8. HDU 5762 Teacher Bo (暴力)

    Teacher Bo 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5762 Description Teacher BoBo is a geogra ...

  9. JSF 2 multiple select listbox example

    In JSF, <h:selectManyListbox /> tag is used to render a multiple select listbox – HTML select ...

  10. CodeForces 706D Vasiliy's Multiset (字典树查询+贪心)

    题意:最开始的时候有一个集合,集合里面只有一个元素0,现在有q次操作,操作分为3种: + x: 表示向集合中添加一个元素x - x:表示删除集合中值为x的一个元素 ? x:表示查询集合中与x异或的最大 ...