﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-伪科学家的记事本-随笔分类-Java</title><link>http://www.blogjava.net/fireflyk/category/49617.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 09 Oct 2011 14:43:23 GMT</lastBuildDate><pubDate>Sun, 09 Oct 2011 14:43:23 GMT</pubDate><ttl>60</ttl><item><title>[OSGi] OSGi + Spring + Web Demo [2]</title><link>http://www.blogjava.net/fireflyk/archive/2011/10/09/360262.html</link><dc:creator>柳桐</dc:creator><author>柳桐</author><pubDate>Sun, 09 Oct 2011 05:12:00 GMT</pubDate><guid>http://www.blogjava.net/fireflyk/archive/2011/10/09/360262.html</guid><wfw:comment>http://www.blogjava.net/fireflyk/comments/360262.html</wfw:comment><comments>http://www.blogjava.net/fireflyk/archive/2011/10/09/360262.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fireflyk/comments/commentRss/360262.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fireflyk/services/trackbacks/360262.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 转载请注明出处 http://www.blogjava.net/fireflyk/  &nbsp;  接上文，[OSGi] OSGi + Spring + Web Demo [1]  1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 同样方法创建helloworldweb Bundle，用Maven方式创建并转为PDE Tools。  2.&nbsp;&nbsp;&nb...&nbsp;&nbsp;<a href='http://www.blogjava.net/fireflyk/archive/2011/10/09/360262.html'>阅读全文</a><img src ="http://www.blogjava.net/fireflyk/aggbug/360262.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fireflyk/" target="_blank">柳桐</a> 2011-10-09 13:12 <a href="http://www.blogjava.net/fireflyk/archive/2011/10/09/360262.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[OSGi] OSGi + Spring + Web Demo [1]</title><link>http://www.blogjava.net/fireflyk/archive/2011/09/18/358922.html</link><dc:creator>柳桐</dc:creator><author>柳桐</author><pubDate>Sun, 18 Sep 2011 13:13:00 GMT</pubDate><guid>http://www.blogjava.net/fireflyk/archive/2011/09/18/358922.html</guid><wfw:comment>http://www.blogjava.net/fireflyk/comments/358922.html</wfw:comment><comments>http://www.blogjava.net/fireflyk/archive/2011/09/18/358922.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/fireflyk/comments/commentRss/358922.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fireflyk/services/trackbacks/358922.html</trackback:ping><description><![CDATA[<div>转载请注明出处 http://www.blogjava.net/fireflyk/archive/2011/09/18/358922.html</div><br />网上找了很多例子，看了很多资料发现都不能完全重现一个OSGi的Web Demo<br />本文结合了《OSGi原理与最佳实践》+公司同事的《OSGi开发》+自己的理解。<br /><br />环境WindowXP + eclipse3.4 + Spring OSGi1.2.1<br />1. 创建timeservice Bundle，提供输出时间的功能<br />1.1 eclipse内创建Maven Project，选quickstart project：timeservice，package org.osgichina.demo.timeservice<br />1.2 创建好后，remove maven的jar包，删掉project中的App和AppTest，在项目上右键-&gt;PDE Tools-&gt;Convert<br />1.3 <br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">package</span><span style="color: #000000; ">&nbsp;org.osgichina.demo.timeservice;<br /><br /></span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">interface</span><span style="color: #000000; ">&nbsp;TimeService&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;getCurrentTime();<br />}</span></div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">class</span><span style="color: #000000; ">&nbsp;TimeServiceImpl&nbsp;</span><span style="color: #0000FF; ">implements</span><span style="color: #000000; ">&nbsp;TimeService&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;String&nbsp;getCurrentTime()&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">new</span><span style="color: #000000;">&nbsp;Date()).toString();<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />}</span></div><br />1.4 Spring配置<br />配置放在META-INF/spring目录下，框架启动时会按照这个路径去寻找配置文件<br />timeservice.xml<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;?</span><span style="color: #FF00FF; ">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000FF; ">?&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">beans&nbsp;</span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/beans"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi</span><span style="color: #0000FF; ">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/beans&nbsp;http://www.springframework.org/schema/beans/spring-beans.xsd"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;timeService&nbsp;bean&nbsp;</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">bean&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="timeService"</span><span style="color: #FF0000; ">&nbsp;class</span><span style="color: #0000FF; ">="org.osgichina.demo.timeservice.impl.TimeServiceImpl"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><span style="color: #000000; "><br /><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">beans</span><span style="color: #0000FF; ">&gt;</span></div><br />timeservice-osgi.xml<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;?</span><span style="color: #FF00FF; ">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000FF; ">?&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">beans&nbsp;</span><span style="color: #FF0000; ">xmlns</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/beans"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xmlns:xsi</span><span style="color: #0000FF; ">="http://www.w3.org/2001/XMLSchema-instance"</span><span style="color: #FF0000; ">&nbsp;xmlns:osgi</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/osgi"</span><span style="color: #FF0000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;xsi:schemaLocation</span><span style="color: #0000FF; ">="http://www.springframework.org/schema/beans&nbsp;http://www.springframework.org/schema/beans/spring-beans.xsd<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://www.springframework.org/schema/osgi&nbsp;http://www.springframework.org/schema/osgi/spring-osgi.xsd"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">&lt;!--</span><span style="color: #008000; ">&nbsp;将timeService&nbsp;这个bean发布为OSGi服务的定义</span><span style="color: #008000; ">--&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">osgi:service&nbsp;</span><span style="color: #FF0000; ">id</span><span style="color: #0000FF; ">="osgiTimeService"</span><span style="color: #FF0000; ">&nbsp;ref</span><span style="color: #0000FF; ">="timeService"</span><span style="color: #ff0000;"> interface</span><span style="color: #0000FF; ">="org.osgichina.demo.timeservice.TimeService"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">osgi:service</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">beans</span><span style="color: #0000FF; ">&gt;</span></div><br />这个Bundle到此已经完成了，下一节会讲解helloworldweb Bundle，涉及Import Package，OSGi的启动，Spring+Web的配置等<img src ="http://www.blogjava.net/fireflyk/aggbug/358922.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fireflyk/" target="_blank">柳桐</a> 2011-09-18 21:13 <a href="http://www.blogjava.net/fireflyk/archive/2011/09/18/358922.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Maven]为工程添加非Maven工程的Jar包依赖</title><link>http://www.blogjava.net/fireflyk/archive/2011/09/14/358596.html</link><dc:creator>柳桐</dc:creator><author>柳桐</author><pubDate>Wed, 14 Sep 2011 05:05:00 GMT</pubDate><guid>http://www.blogjava.net/fireflyk/archive/2011/09/14/358596.html</guid><wfw:comment>http://www.blogjava.net/fireflyk/comments/358596.html</wfw:comment><comments>http://www.blogjava.net/fireflyk/archive/2011/09/14/358596.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fireflyk/comments/commentRss/358596.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fireflyk/services/trackbacks/358596.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 使用Maven开发dashboard，发现report.jar不是用Maven开发的，怎么用Maven依赖report.jar呢？<br /><br /><div>命令如下：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">mvn&nbsp;install:install</span><span style="color: #000000; ">-</span><span style="color: #000000; ">file&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DgroupId</span><span style="color: #000000; ">=&lt;</span><span style="color: #000000; ">your_group_name</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DartifactId</span><span style="color: #000000; ">=&lt;</span><span style="color: #000000; ">your_artifact_name</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">Dversion</span><span style="color: #000000; ">=&lt;</span><span style="color: #000000; ">snapshot</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">Dfile</span><span style="color: #000000; ">=&lt;</span><span style="color: #000000; ">path_to_your_jar_file</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">Dpackaging</span><span style="color: #000000; ">=</span><span style="color: #000000; ">jar&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DgeneratePom</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">true</span></div><br /><br />示例：<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">mvn&nbsp;install:install</span><span style="color: #000000; ">-</span><span style="color: #000000; ">file&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DgroupId</span><span style="color: #000000; ">=</span><span style="color: #000000; ">com.bupt.liutong</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DartifactId</span><span style="color: #000000; ">=</span><span style="color: #000000; ">report </span><span style="color: #000000; ">-</span><span style="color: #000000; ">Dversion</span><span style="color: #000000; ">=</span><span style="color: #000000; ">1.0</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">Dfile</span><span style="color: #000000; ">=</span><span style="color: #000000; ">e:</span><span style="color: #000000; ">/report</span><span style="color: #000000; "></span><span style="color: #000000; ">.jar&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">Dpackaging</span><span style="color: #000000; ">=</span><span style="color: #000000; ">jar&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">DgeneratePom</span><span style="color: #000000; ">=</span><span style="color: #0000FF; ">true</span></div><br /><br />执行成功后，<br />在pom.xml文件中添加：<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "></span><span style="color: #000000; ">com.bupt.liutong</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">groupId</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;report</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">artifactId</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">1.0</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">version</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">dependency</span><span style="color: #0000FF; ">&gt;</span></div></div><img src ="http://www.blogjava.net/fireflyk/aggbug/358596.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fireflyk/" target="_blank">柳桐</a> 2011-09-14 13:05 <a href="http://www.blogjava.net/fireflyk/archive/2011/09/14/358596.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>