先说下bundle打jar包
选中要打包的bundle,export,在弹出的view中选中下图所示
在Destination中设置导出路径,Options修改如下,直接Finish即可
下面看下启动配置的目录结构
run.bat内容如下
java
-Dosgi.noShutdown=true
-Dserver.home=.
-Dbundles.configuration.location=./configuration -Dlogback.configurationFile=./configuration/logbackConfiguration.xml
-jar equinox.jar
-console
该启动文件配置了配置目录的位置,日志配置文件的位置
config.ini内容如下
#Configuration File
#Sun May 27 15:56:26 CST 2012
osgi.clean=true
osgi.console=6230
osgi.noShutdown=true
osgi.bundles=osgi.bundles=file:./plugins/com.ferry.bussinessService_1.0.0.20120527.jar@start,\
./plugins/com.ferry.daoService_1.0.0.20120527.jar@3:start,\
…
./basic_plugins/com.springsource.com.ibatis-2.3.4.726.jar@3:start,\
…
osgi.bundles.defaultStartLevel=4
osgi.configuration.cascaded=false
eclipse.ignoreApp=true
eof=eof
该文件中需要注意的是osgi.bundles中声明多个jar的时候,如果需要换行要加“\”
@后的数字是启动级别,如果某个bunddle启动级别超过了osgi.bundles.defaultStartLevel设置的数字,那么该bunddle是无法启动起来。
osgi.console=6230 这里的6230是osgi telnet的端口号,可以用telnet服务来访问,开发项目的时候写shell脚本启动osgi服务的时候要用到
构建非eclipse运行环境的时候,之前我们osgi化的普通jar包要在MANIFEST.MF中加上
DynamicImport-Package:*,否则启动会报错
ibatis的sqlMap文件也要勾上