﻿<?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技术版）-文章分类-Triones</title><link>http://www2.blogjava.net/brokendoor/category/5346.html</link><description>破门点滴（Java技术版）</description><language>zh-cn</language><lastBuildDate>Thu, 01 Mar 2007 00:52:11 GMT</lastBuildDate><pubDate>Thu, 01 Mar 2007 00:52:11 GMT</pubDate><ttl>60</ttl><item><title>Eclipse 测试框架分析（未完）</title><link>http://www.blogjava.net/brokendoor/articles/37560.html</link><dc:creator>破门</dc:creator><author>破门</author><pubDate>Mon, 27 Mar 2006 02:34:00 GMT</pubDate><guid>http://www.blogjava.net/brokendoor/articles/37560.html</guid><wfw:comment>http://www.blogjava.net/brokendoor/comments/37560.html</wfw:comment><comments>http://www.blogjava.net/brokendoor/articles/37560.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/brokendoor/comments/commentRss/37560.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/brokendoor/services/trackbacks/37560.html</trackback:ping><description><![CDATA[
		<br />
		<table style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" cellspacing="0" cellpadding="0" width="90%" border="0">
				<tbody>
						<tr>
								<td class="oblog_t_4">
										<span class="style1">
												<font size="3">
												</font>
										</span>
								</td>
						</tr>
						<tr>
								<td>
										<table cellspacing="0" cellpadding="0" width="100%" border="0">
												<tbody>
														<tr>
																<td>
																		<div align="right">
																				<span class="oblog_text">
																						<a class="categorylink" href="http://blogger.org.cn/blog/list.asp?classid=14" target="_blank">
																						</a>
																				</span>
																		</div>
																		<div align="right">
																				<span class="oblog_text">发表于 2005-2-21 11:24:52</span>
																		</div>
																</td>
														</tr>
												</tbody>
										</table>
										<span class="oblog_text">
												<br />
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<font size="3">
																<span lang="EN-US">
																		<font face="Times New Roman">Eclipse </font>
																</span>
																<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">测试框架分析</span>
														</font>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<font size="3">
																<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">基于</span>
																<span lang="EN-US">
																		<font face="Times New Roman">PDE</font>
																</span>
																<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行时的参数设定如下：</span>
														</font>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">Eclipse.buildId=unknown</font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">java.version=1.4.2</font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">java.vendor=Sun Microsystems Inc.</font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN</font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<font size="3">
																<font face="Times New Roman">
																		<b style="mso-bidi-font-weight: normal">
																				<span lang="EN-US">Framework arguments:</span>
																		</b>
																		<span lang="EN-US">
																				<span style="mso-spacerun: yes">  </span>
																		</span>
																</font>
														</font>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-version 3 </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-application org.eclipse.pde.junit.runtime.coretestapplication </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-testApplication org.softme.triones.runtime.framework </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-pdelaunch </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-port 3655 </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-testpluginname org.softme.triones.runtime </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-classnames org.softme.triones.runtime.TrionesRuntimeAllTests</font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<font size="3">
																<font face="Times New Roman">
																		<b style="mso-bidi-font-weight: normal">
																				<span lang="EN-US">Command-line arguments:</span>
																		</b>
																		<span lang="EN-US">
																				<span style="mso-spacerun: yes">  </span>
																		</span>
																</font>
														</font>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-version 3 </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-application org.eclipse.pde.junit.runtime.coretestapplication </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-testApplication org.softme.triones.runtime.framework </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-data D:\netshop\runtime-test-workspace </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-dev file:D:/netshop/sources/.metadata/.plugins/org.eclipse.pde.core/Trionse Runtime Test/dev.properties </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-pdelaunch -os win32 -ws win32 -arch x86 -nl zh_CN -clean </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-debug -consolelog </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-port 3655 </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-testpluginname org.softme.triones.runtime </font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">-classnames org.softme.triones.runtime.TrionesRuntimeAllTests</font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
																<o:p>
																		<font face="Times New Roman" size="3"> </font>
																</o:p>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<font size="3">
																<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由参数配置可以看出，</span>
																<span lang="EN-US">
																		<font face="Times New Roman">Eclipse PDE</font>
																</span>
																<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中插件测试实际上是启动了</span>
																<span lang="EN-US">
																		<font face="Times New Roman">
																		</font>
																</span>
														</font>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<font size="3">
																<span lang="EN-US">
																		<font face="Times New Roman">org.eclipse.pde.junit.runtime.coretestapplication </font>
																</span>
																<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个应用，而被测试的应用通过参数</span>
																<font face="Times New Roman">
																		<span lang="EN-US">–testApplication </span>
																</font>
																<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定，运行的参数通过</span>
																<font face="Times New Roman">
																		<span lang="EN-US">–dev file:…./dev.properties </span>
																</font>
																<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来指定。我们先分析一下</span>
																<span lang="EN-US">
																		<font face="Times New Roman"> dev.properties </font>
																</span>
																<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件：</span>
														</font>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">org.softme.triones.runtime=bin</font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">org.softme.triones.sdk=bin</font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">org.eclipse.osgi=bin</font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">org.softme.triones.hello=bin</font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">com.opensymphony=bin</font>
														</span>
												</p>
												<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
														<span lang="EN-US">
																<font face="Times New Roman" size="3">org.softme.triones.turbine=bin</font>
														</span>
												</p>
												<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">这里配置需要加载的工作区插件和</span>
												<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">class</span>
												<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-font-kerning: 1.0pt; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">路径。</span>
												<br />
										</span>
								</td>
						</tr>
				</tbody>
		</table>
		<p>通过对Eclipse测试框架的研究，发现目前无法支持Triones框架的测试环境要求：</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">“测试框架由</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">org.eclipse.test </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">插件和</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">org.eclipse.ant.optional.junit </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">段组成。</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align="left">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">上面这两个工程可以从</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">dev.eclipse.org </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">资源库获取并且已经包含在</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">eclipse-Automated-Tests.&lt;buildid&gt;.zip </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">文件中，可以从</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">eclipse.org </span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-font-kerning: 0pt; mso-bidi-font-family: Arial; mso-bidi-font-size: 10.5pt">下载页面下载。</span>
				<span lang="EN-US" style="FONT-FAMILY: Arial; mso-font-kerning: 0pt; mso-bidi-font-size: 10.5pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: Arial">测试框架的当前版本并不能与</span>
				<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial; mso-ansi-language: EN-US; mso-fareast-font-family: 宋体; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">PDE</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: Arial">集成环境兼容。如果你希望运行测试，那么你需要安装一套完整的目标</span>
				<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial; mso-ansi-language: EN-US; mso-fareast-font-family: 宋体; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Eclipse</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: Arial">环境以便于测试框架能够检测所有需要的内容。如果你准备为一个或多个</span>
				<span lang="EN-US" style="FONT-SIZE: 10.5pt; FONT-FAMILY: Arial; mso-ansi-language: EN-US; mso-fareast-font-family: 宋体; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">Eclipse</span>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: Arial">插件编写测试，那么你需要创建一个专门用于测试的独立的插件。这个测试插件将包含针对你正在开发的插件的所有测试，同时也定义了这些测试的运行方式。”</span>
		</p>
		<p>
				<span style="FONT-SIZE: 10.5pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: Arial">这样的情况下，必须重新考虑Triones框架的设计了。</span>
		</p>
<img src ="http://www.blogjava.net/brokendoor/aggbug/37560.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/brokendoor/" target="_blank">破门</a> 2006-03-27 10:34 <a href="http://www.blogjava.net/brokendoor/articles/37560.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Triones Runtime: 修改java.net.URL对象支持多个StreamHandlerFactory的注册</title><link>http://www.blogjava.net/brokendoor/articles/37559.html</link><dc:creator>破门</dc:creator><author>破门</author><pubDate>Mon, 27 Mar 2006 02:30:00 GMT</pubDate><guid>http://www.blogjava.net/brokendoor/articles/37559.html</guid><wfw:comment>http://www.blogjava.net/brokendoor/comments/37559.html</wfw:comment><comments>http://www.blogjava.net/brokendoor/articles/37559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/brokendoor/comments/commentRss/37559.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/brokendoor/services/trackbacks/37559.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 发表于 2004-12-26 18:59:04																																																																																												 思路：1、将URL对象中的factory对象扩展为一个factorys的Hashtable对象，将setURLStreamHandlerFa...&nbsp;&nbsp;<a href='http://www.blogjava.net/brokendoor/articles/37559.html'>阅读全文</a><img src ="http://www.blogjava.net/brokendoor/aggbug/37559.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/brokendoor/" target="_blank">破门</a> 2006-03-27 10:30 <a href="http://www.blogjava.net/brokendoor/articles/37559.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Triones Runtime: 利用Eclipse Plugin支持Web应用</title><link>http://www.blogjava.net/brokendoor/articles/37558.html</link><dc:creator>破门</dc:creator><author>破门</author><pubDate>Mon, 27 Mar 2006 02:29:00 GMT</pubDate><guid>http://www.blogjava.net/brokendoor/articles/37558.html</guid><wfw:comment>http://www.blogjava.net/brokendoor/comments/37558.html</wfw:comment><comments>http://www.blogjava.net/brokendoor/articles/37558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/brokendoor/comments/commentRss/37558.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/brokendoor/services/trackbacks/37558.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 根据插件ID（Namespace）和路径找出视图源文件																																																																																																																																												2004-12-2...&nbsp;&nbsp;<a href='http://www.blogjava.net/brokendoor/articles/37558.html'>阅读全文</a><img src ="http://www.blogjava.net/brokendoor/aggbug/37558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/brokendoor/" target="_blank">破门</a> 2006-03-27 10:29 <a href="http://www.blogjava.net/brokendoor/articles/37558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Triones Framework Runtime</title><link>http://www.blogjava.net/brokendoor/articles/37554.html</link><dc:creator>破门</dc:creator><author>破门</author><pubDate>Mon, 27 Mar 2006 02:20:00 GMT</pubDate><guid>http://www.blogjava.net/brokendoor/articles/37554.html</guid><wfw:comment>http://www.blogjava.net/brokendoor/comments/37554.html</wfw:comment><comments>http://www.blogjava.net/brokendoor/articles/37554.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/brokendoor/comments/commentRss/37554.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/brokendoor/services/trackbacks/37554.html</trackback:ping><description><![CDATA[
		<a>　</a>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">完成通过测试程序调用</span>
				<span lang="EN-US">
						<font face="Times New Roman">Triones Framework Runtime </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">插件的工作：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">
								<font face="Times New Roman">1、<span style="FONT: 7pt 'Times New Roman'">  </span></font>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只需要利用</span>
				<span lang="EN-US">
						<font face="Times New Roman">Eclipse </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的核心插件包。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span lang="EN-US">
						<font face="Times New Roman">org.eclipse.core.runtime<span style="mso-tab-count: 2">         </span>// Eclipse Plugin Runtime</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span lang="EN-US">
						<font face="Times New Roman">org.eclipse.osgi<span style="mso-tab-count: 4">                            </span>// Eclipse OSGi Implemention</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span lang="EN-US">
						<font face="Times New Roman">org.eclipse.update<span style="mso-tab-count: 3">                  </span>// Eclipse Plugin Loader/Updater<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">
								<font face="Times New Roman">2、<span style="FONT: 7pt 'Times New Roman'">  </span></font>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">平台启动就自动调用了</span>
				<span lang="EN-US">
						<font face="Times New Roman">Triones </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">核心产品</span>
				<span lang="EN-US">
						<font face="Times New Roman">org.softme.triones.runtime.framework</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。部分输出如下：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">Time to load bundles: 10</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">Starting application: 921</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">------------------------------------</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">Triones Framework: Started!</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">Triones Framework: Hello!</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">Triones Framework: Stoped!</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-font-kerning: 0pt; mso-highlight: white">------------------------------------</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p>
								<font face="Times New Roman"> </font>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<font face="Times New Roman">
						<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
								<span style="mso-list: Ignore">3、<span style="FONT: 7pt 'Times New Roman'">  </span></span>
						</span>
						<span lang="EN-US">EclipseStarter</span>
				</font>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设计为应用运行完毕就自动调用</span>
				<span lang="EN-US">
						<font face="Times New Roman">shutdown </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使得平台退出，</span>
				<span lang="EN-US">
						<font face="Times New Roman">Triones</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">框架需要等待</span>
				<span lang="EN-US">
						<font face="Times New Roman">ServletContext</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US">
						<font face="Times New Roman">Destroyed</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件，因此必须对此进行处理：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方案一：</span>
				<font face="Times New Roman">
				</font>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">创建</span>
				<span lang="EN-US">
						<font face="Times New Roman">Triones</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">系统任务，并将其挂起直到获得</span>
				<span lang="EN-US">
						<font face="Times New Roman">ContextDestroyed</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方案二：</span>
				<font face="Times New Roman">
				</font>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">扩展</span>
				<span lang="EN-US">
						<font face="Times New Roman">EclipseStarter </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">修改运行程序，不自动调用</span>
				<span lang="EN-US">
						<font face="Times New Roman">shutdown</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">；等待</span>
				<span lang="EN-US">
						<font face="Times New Roman">ContextDestroyed</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">事件由</span>
				<span lang="EN-US">
						<font face="Times New Roman">TrionesContextListener</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">显式调用</span>
				<span lang="EN-US">
						<font face="Times New Roman">shutdown </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span lang="EN-US">
						<o:p>
								<font face="Times New Roman"> </font>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">研究了一下午，方案一似乎不太合理，挂起的系统进程？？郁闷中</span>
				<span lang="EN-US" style="COLOR: red">
						<font face="Times New Roman">…..</font>
				</span>
				<span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
				<span lang="EN-US" style="COLOR: red">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span lang="EN-US" style="COLOR: red">
						<o:p>
								<font face="Times New Roman"> </font>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt">
				<span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">考虑方案二</span>
				<span lang="EN-US" style="COLOR: red">
						<font face="Times New Roman">….<o:p></o:p></font>
				</span>
		</p>
		<br />
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以上，实现方案二：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通过反射直接调用</span>
				<span lang="EN-US">
						<font face="Times New Roman">EclipseStarter </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US">
						<font face="Times New Roman">startup(String[], Runable) </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US">
						<font face="Times New Roman">run(Object) </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法以启动平台并保留在内存；关闭平台时调用</span>
				<span lang="EN-US">
						<font face="Times New Roman"> EclipseStarter</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US">
						<font face="Times New Roman">shutdown() </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p>
								<font face="Times New Roman"> </font>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">问题：</span>
						<span style="COLOR: red">
								<font face="Times New Roman">
								</font>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如何保留进程，如何与</span>
						<span lang="EN-US" style="COLOR: red">
								<font face="Times New Roman">Context</font>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">环境交互？</span>
						<span lang="EN-US" style="COLOR: red">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">总不能全部使用反射吧？</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方案：</span>
				<font face="Times New Roman">
				</font>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通过反射取到</span>
				<span lang="EN-US">
						<font face="Times New Roman"> TrionesFramework </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">步骤一：</span>
				<font face="Times New Roman">
				</font>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对</span>
				<span lang="EN-US">
						<font face="Times New Roman"> Triones Runtime </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">采取</span>
				<font face="Times New Roman">
				</font>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">分离接口模式</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">步骤二：</span>
				<font face="Times New Roman">
				</font>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">修改</span>
				<span lang="EN-US">
						<font face="Times New Roman"> launcher.EclipseLanucher </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象，通过反射获取</span>
				<span lang="EN-US">
						<font face="Times New Roman"> TrionesFramework</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">
								<font face="Times New Roman">1)<span style="FONT: 7pt 'Times New Roman'">      </span></font>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需要通过</span>
				<span lang="EN-US">
						<font face="Times New Roman">URLClassLoader</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加载</span>
				<span lang="EN-US">
						<font face="Times New Roman"> Triones Runtime </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">插件；</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">
								<font face="Times New Roman">2)<span style="FONT: 7pt 'Times New Roman'">      </span></font>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需要修改</span>
				<span lang="EN-US">
						<font face="Times New Roman">DevPath</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，增加</span>
				<span lang="EN-US">
						<font face="Times New Roman"> Triones Runtime</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的插件路径。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 39.0pt">
				<span lang="EN-US" style="mso-fareast-font-family: 'Times New Roman'">
						<span style="mso-list: Ignore">
								<font face="Times New Roman">3)<span style="FONT: 7pt 'Times New Roman'">      </span></font>
						</span>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">增加接口，取得</span>
				<span lang="EN-US">
						<font face="Times New Roman">TrionesFramework</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象。</span>
				<span lang="EN-US">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="COLOR: red">
								<o:p>
										<font face="Times New Roman"> </font>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实现了对</span>
						<span lang="EN-US" style="COLOR: red">
								<font face="Times New Roman">TrionesStarter </font>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的反射调用启动和关闭</span>
						<span lang="EN-US" style="COLOR: red">
								<font face="Times New Roman">Eclipse</font>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">平台，但是</span>
						<span style="COLOR: red">
								<font face="Times New Roman">
								</font>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对</span>
						<span lang="EN-US" style="COLOR: red">
								<font face="Times New Roman">getFramework </font>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="COLOR: red; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方法调用失败！！！！！</span>
						<span lang="EN-US" style="COLOR: red">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; mso-font-kerning: 0pt; mso-highlight: white">
						<font face="Times New Roman">Get the Triones framework....<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; mso-font-kerning: 0pt; mso-highlight: white">
						<font face="Times New Roman">java.lang.reflect.InvocationTargetException<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; mso-font-kerning: 0pt; mso-highlight: white">
						<font face="Times New Roman">
								<span style="mso-tab-count: 1">         </span>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; mso-font-kerning: 0pt; mso-highlight: white">
						<font face="Times New Roman">
								<span style="mso-tab-count: 1">         </span>at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; mso-font-kerning: 0pt; mso-highlight: white">
						<font face="Times New Roman">
								<span style="mso-tab-count: 1">         </span>at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; mso-font-kerning: 0pt; mso-highlight: white">
						<font face="Times New Roman">
								<span style="mso-tab-count: 1">         </span>at java.lang.reflect.Method.invoke(Unknown Source)<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; mso-font-kerning: 0pt; mso-highlight: white">
						<font face="Times New Roman">
								<span style="mso-tab-count: 1">         </span>at org.softme.triones.launcher.TrionesEclipseLauncher.getFramework(TrionesEclipseLauncher.java:815)<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; mso-font-kerning: 0pt; mso-highlight: white">
						<font face="Times New Roman">
								<span style="mso-spacerun: yes">   </span>…<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<font face="Times New Roman">
						<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; mso-font-kerning: 0pt; mso-highlight: white">Caused by: java.lang.NoClassDefFoundError: org/eclipse/core/runtime/Platform</span>
						<span lang="EN-US" style="FONT-SIZE: 10pt; mso-font-kerning: 0pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<font face="Times New Roman">
						<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; mso-font-kerning: 0pt; mso-highlight: white">
								<span style="mso-tab-count: 1">         </span>at org.softme.triones.runtime.TrionesFramework.&lt;init&gt;(TrionesFramework.java:55)</span>
						<span lang="EN-US" style="FONT-SIZE: 10pt; mso-font-kerning: 0pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none" align="left">
				<font face="Times New Roman">
						<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; mso-font-kerning: 0pt; mso-highlight: white">
								<span style="mso-tab-count: 1">         </span>at org.softme.triones.runtime.TrionesStarter.getFramework(TrionesStarter.java:52)</span>
						<span lang="EN-US" style="FONT-SIZE: 10pt; mso-font-kerning: 0pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<font face="Times New Roman">
						<span lang="EN-US" style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: red; mso-font-kerning: 0pt; mso-highlight: white">
								<span style="mso-tab-count: 1">         </span>... 22 more</span>
						<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: red; mso-font-kerning: 0pt">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: red; mso-font-kerning: 0pt">
						<o:p>
								<font face="Times New Roman"> </font>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">看来设计架构上还是出了问题，检查一下</span>
				<span lang="EN-US" style="mso-font-kerning: 0pt">
						<font face="Times New Roman">URLClassLoader</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">的文档：</span>
				<span lang="EN-US" style="mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-font-kerning: 0pt">
						<font face="Times New Roman">StartupClassLoader </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">仅仅包含启动包的类路径，而</span>
				<span lang="EN-US" style="mso-font-kerning: 0pt">
						<font face="Times New Roman">Triones</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">必须将所有类路径加载到</span>
				<span lang="EN-US" style="mso-font-kerning: 0pt">
						<font face="Times New Roman">context </font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">中，才能够实现</span>
				<span lang="EN-US" style="mso-font-kerning: 0pt">
						<font face="Times New Roman">Context</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">（</span>
				<span lang="EN-US" style="mso-font-kerning: 0pt">
						<font face="Times New Roman">Servlet</font>
				</span>
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">）与框架的交互。</span>
				<span lang="EN-US" style="mso-font-kerning: 0pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">以上方案失败！！</span>
				<span lang="EN-US" style="mso-font-kerning: 0pt">
						<font face="Times New Roman">
								<span style="mso-spacerun: yes">  </span>Sign….. : (<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /?><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><a href="http://blogger.org.cn/blog/images/emot/face21.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://blogger.org.cn/blog/images/emot/face21.gif" onload="java_script_:if(this.width&gt;500)this.width=500" border="0" /></a><a href="http://blogger.org.cn/blog/images/emot/face21.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://blogger.org.cn/blog/images/emot/face21.gif" onload="java_script_:if(this.width&gt;500)this.width=500" border="0" /></a><a href="http://blogger.org.cn/blog/images/emot/face21.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://blogger.org.cn/blog/images/emot/face21.gif" onload="java_script_:if(this.width&gt;500)this.width=500" border="0" /></a><a href="http://blogger.org.cn/blog/images/emot/face21.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://blogger.org.cn/blog/images/emot/face21.gif" onload="java_script_:if(this.width&gt;500)this.width=500" border="0" /></a><a href="http://blogger.org.cn/blog/images/emot/face21.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://blogger.org.cn/blog/images/emot/face21.gif" onload="java_script_:if(this.width&gt;500)this.width=500" border="0" /></a><a href="http://blogger.org.cn/blog/images/emot/face21.gif" target="_blank"><img onmousewheel="return bbimg(this)" title="点击在新窗口查看原始图片" src="http://blogger.org.cn/blog/images/emot/face21.gif" onload="java_script_:if(this.width&gt;500)this.width=500" border="0" /></a></v:shapetype></font>
						<font face="Times New Roman">):<o:p></o:p></font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="mso-font-kerning: 0pt">
						<o:p>
								<font face="Times New Roman"> </font>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">改进方案，设法使得</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; mso-font-kerning: 0pt">
								<font face="Times New Roman">OSGi</font>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">类路径加载到</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; mso-font-kerning: 0pt">
								<font face="Times New Roman">Context </font>
						</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-font-kerning: 0pt">路径中！</span>
				</b>
				<b style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-SIZE: 12pt; mso-font-kerning: 0pt">
								<o:p>
								</o:p>
						</span>
				</b>
		</p>
		<b style="mso-bidi-font-weight: normal">
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-font-family: 宋体; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">(</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">虽然难度大了点，但是必须解决</span>
				<span lang="EN-US" style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-font-family: 宋体; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">)</span>
				<span style="FONT-SIZE: 12pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA; mso-bidi-font-family: 'Times New Roman'">。</span>
		</b>
		<br />
<img src ="http://www.blogjava.net/brokendoor/aggbug/37554.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/brokendoor/" target="_blank">破门</a> 2006-03-27 10:20 <a href="http://www.blogjava.net/brokendoor/articles/37554.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于Eslipse (3.0) ClassLoader 问题的分析</title><link>http://www.blogjava.net/brokendoor/articles/21688.html</link><dc:creator>破门</dc:creator><author>破门</author><pubDate>Mon, 28 Nov 2005 08:25:00 GMT</pubDate><guid>http://www.blogjava.net/brokendoor/articles/21688.html</guid><wfw:comment>http://www.blogjava.net/brokendoor/comments/21688.html</wfw:comment><comments>http://www.blogjava.net/brokendoor/articles/21688.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/brokendoor/comments/commentRss/21688.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/brokendoor/services/trackbacks/21688.html</trackback:ping><description><![CDATA[<A>　</A>
<H3 style="MARGIN: 13pt 0cm"><FONT size=5><SPAN style="FONT-FAMILY: 宋体"></SPAN></FONT></H3>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><STRONG><SPAN style="FONT-FAMILY: 宋体">关于</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">ClassLoader </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">问题的分析：</SPAN></STRONG></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN lang=EN-US><FONT face="Times New Roman">EclipeClassLoader </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">创建</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">:</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体"><BR></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #000000">org.eclipse.core.runtime.adaptor.EclipseElementFactory<BR><BR></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;org.eclipse.osgi.framework.adaptor.BundleClassLoader&nbsp;createClassLoader<BR><BR>(ClassLoaderDelegate&nbsp;delegate,&nbsp;ProtectionDomain&nbsp;domain,&nbsp;S<BR><BR>tring[]&nbsp;bundleclasspath,&nbsp;AbstractBundleData&nbsp;data)&nbsp;{<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;EclipseClassLoader(delegate,&nbsp;domain,&nbsp;<BR><BR>bundleclasspath,&nbsp;data.getAdaptor().getBundleClassLoaderParent(),&nbsp;data);<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR><BR></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><BR>获取</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">ClassLoaderParent </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">的方法，使用了</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">EclipseAdaptor</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN lang=EN-US><FONT face="Times New Roman">Adaptor </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">的</SPAN></FONT><B><SPAN lang=EN-US style="FONT-SIZE: 10.5pt; COLOR: red"><FONT face="Times New Roman">getBundleClassLoaderParent() </FONT></SPAN></B><SPAN style="FONT-FAMILY: 宋体"><FONT size=3>如何去定</FONT></SPAN><FONT face="Times New Roman"><B><SPAN style="FONT-SIZE: 10.5pt; COLOR: red"> </SPAN></B><SPAN lang=EN-US><FONT size=3>bundleClassLoaderParent?<?xml:namespace prefix = o /><o:p></o:p></FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体"><BR></P>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN style="COLOR: #008080">&nbsp;1</SPAN><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">org.eclipse.osgi.framework.adaptor.core.&nbsp;AbstractFrameworkAdaptor<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;2</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;3</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_67_273_Open_Image onclick="this.style.display='none'; Codehighlighter1_67_273_Open_Text.style.display='none'; Codehighlighter1_67_273_Closed_Image.style.display='inline'; Codehighlighter1_67_273_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_67_273_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_67_273_Closed_Text.style.display='none'; Codehighlighter1_67_273_Open_Image.style.display='inline'; Codehighlighter1_67_273_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN id=Codehighlighter1_67_273_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">/**&nbsp;*/</SPAN><SPAN id=Codehighlighter1_67_273_Open_Text><SPAN style="COLOR: #008000">/**</SPAN><SPAN style="COLOR: #008000"><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;4</SPAN><SPAN style="COLOR: #008000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;5</SPAN><SPAN style="COLOR: #008000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;The&nbsp;BundleClassLoader&nbsp;parent&nbsp;to&nbsp;use&nbsp;when&nbsp;creating&nbsp;BundleClassLoaders.<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;6</SPAN><SPAN style="COLOR: #008000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;7</SPAN><SPAN style="COLOR: #008000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;The&nbsp;behavior&nbsp;of&nbsp;the&nbsp;ParentClassLoader&nbsp;will&nbsp;load&nbsp;classes<BR></SPAN><SPAN style="COLOR: #008080">&nbsp;8</SPAN><SPAN style="COLOR: #008000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">&nbsp;9</SPAN><SPAN style="COLOR: #008000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;from&nbsp;the&nbsp;boot&nbsp;strap&nbsp;classloader.<BR></SPAN><SPAN style="COLOR: #008080">10</SPAN><SPAN style="COLOR: #008000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">11</SPAN><SPAN style="COLOR: #008000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">*/</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">12</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">13</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;ClassLoader&nbsp;bundleClassLoaderParent;<BR></SPAN><SPAN style="COLOR: #008080">14</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">15</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;<BR></SPAN><SPAN style="COLOR: #008080">16</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">17</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_355_1287_Open_Image onclick="this.style.display='none'; Codehighlighter1_355_1287_Open_Text.style.display='none'; Codehighlighter1_355_1287_Closed_Image.style.display='inline'; Codehighlighter1_355_1287_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_355_1287_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_355_1287_Closed_Text.style.display='none'; Codehighlighter1_355_1287_Open_Image.style.display='inline'; Codehighlighter1_355_1287_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN id=Codehighlighter1_355_1287_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_355_1287_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">18</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">19</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;check&nbsp;property&nbsp;for&nbsp;specified&nbsp;parent</SPAN><SPAN style="COLOR: #008000"><BR></SPAN><SPAN style="COLOR: #008080">20</SPAN><SPAN style="COLOR: #008000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">21</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;type&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;<BR></SPAN><SPAN style="COLOR: #008080">22</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">23</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>System.getProperty(PROP_PARENT_CLASSLOADER,&nbsp;PARENT_CLASSLOADER_BOOT);<BR></SPAN><SPAN style="COLOR: #008080">24</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">25</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(PARENT_CLASSLOADER_FWK.equalsIgnoreCase(type))<BR></SPAN><SPAN style="COLOR: #008080">26</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">27</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bundleClassLoaderParent&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;FrameworkAdaptor.</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">.getClassLoader();<BR></SPAN><SPAN style="COLOR: #008080">28</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">29</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">else</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(PARENT_CLASSLOADER_APP.equalsIgnoreCase(type))<BR></SPAN><SPAN style="COLOR: #008080">30</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">31</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bundleClassLoaderParent&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;ClassLoader.getSystemClassLoader();<BR></SPAN><SPAN style="COLOR: #008080">32</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">33</SPAN><SPAN style="COLOR: #000000"><IMG id=Codehighlighter1_893_1103_Open_Image onclick="this.style.display='none'; Codehighlighter1_893_1103_Open_Text.style.display='none'; Codehighlighter1_893_1103_Closed_Image.style.display='inline'; Codehighlighter1_893_1103_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_893_1103_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_893_1103_Closed_Text.style.display='none'; Codehighlighter1_893_1103_Open_Image.style.display='inline'; Codehighlighter1_893_1103_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">else</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(PARENT_CLASSLOADER_EXT.equalsIgnoreCase(type))&nbsp;</SPAN><SPAN id=Codehighlighter1_893_1103_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_893_1103_Open_Text><SPAN style="COLOR: #000000">{<BR></SPAN><SPAN style="COLOR: #008080">34</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">35</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ClassLoader&nbsp;appCL&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;ClassLoader.getSystemClassLoader();<BR></SPAN><SPAN style="COLOR: #008080">36</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">37</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(appCL&nbsp;</SPAN><SPAN style="COLOR: #000000">!=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">)<BR></SPAN><SPAN style="COLOR: #008080">38</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">39</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bundleClassLoaderParent&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;appCL.getParent();<BR></SPAN><SPAN style="COLOR: #008080">40</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">41</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">42</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">43</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;<BR></SPAN><SPAN style="COLOR: #008080">44</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">45</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000">&nbsp;default&nbsp;to&nbsp;boot&nbsp;classloader</SPAN><SPAN style="COLOR: #008000"><BR></SPAN><SPAN style="COLOR: #008080">46</SPAN><SPAN style="COLOR: #008000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">47</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">if</SPAN><SPAN style="COLOR: #000000">&nbsp;(bundleClassLoaderParent&nbsp;</SPAN><SPAN style="COLOR: #000000">==</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">null</SPAN><SPAN style="COLOR: #000000">)<BR></SPAN><SPAN style="COLOR: #008080">48</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">49</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bundleClassLoaderParent&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;ParentClassLoader();<BR></SPAN><SPAN style="COLOR: #008080">50</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">51</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #008080">52</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><BR></SPAN><SPAN style="COLOR: #008080">53</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN></DIV>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><BR>如果使用了了</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">boot Classloader </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">则</SPAN><SPAN lang=EN-US><FONT face="Times New Roman"> ParentClassLoader </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">是新建的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman"> boot</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">，这里分析看来应该使用</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">framework </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">或者系统的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">ClassLoader</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">吧。</SPAN></FONT><SPAN lang=EN-US><BR style="PAGE-BREAK-BEFORE: always" clear=all></SPAN><FONT size=3><SPAN style="FONT-FAMILY: 宋体">根据以上的分析，对</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Triones</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">的启动环境进行了调整：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"><FONT size=3><SPAN lang=EN-US><SPAN><FONT face="Times New Roman">1、</FONT></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体">直接引用</SPAN><SPAN lang=EN-US><FONT face="Times New Roman"> org.eclipse.osgi </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">中的启动包，避免使用反射。注：可以直接调用</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">EclipseStarter.run(null) </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">了。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"><FONT size=3><SPAN lang=EN-US><SPAN><FONT face="Times New Roman">2、</FONT></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体">将</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">Triones Runtime </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">拆分成为</SPAN><SPAN lang=EN-US><FONT face="Times New Roman"> triones-core.jar </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">（包括主要的服务接口</SPAN><SPAN lang=EN-US><FONT face="Times New Roman"> ItrionesFramework </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">等）和</SPAN><SPAN lang=EN-US><FONT face="Times New Roman"> triones-runtime.jar (Triones Runtime Eclipse</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">插件</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">)</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt"><FONT size=3><SPAN lang=EN-US><SPAN><FONT face="Times New Roman">3、</FONT></SPAN></SPAN><SPAN style="FONT-FAMILY: 宋体">修改</SPAN><SPAN lang=EN-US><FONT face="Times New Roman"> Eclipse </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman"> config.ini </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">配置。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 12pt"><SPAN lang=EN-US><FONT face="Times New Roman" size=3># osgi classloader : </FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 12pt"><SPAN lang=EN-US><FONT face="Times New Roman" size=3>osgi.parentClassloader = fwk</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 12pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体">根据上面的分析，</SPAN><SPAN lang=EN-US><FONT face="Times New Roman"> fwk </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">表示使用</SPAN><SPAN lang=EN-US><FONT face="Times New Roman"> FrameworkAdaptor </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">ClassLoader </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">作为</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">OSGi</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">的</SPAN><SPAN lang=EN-US><FONT face="Times New Roman">parent classloader</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt 18pt"><SPAN lang=EN-US><FONT face="Times New Roman" size=3>bundleClassLoaderParent = FrameworkAdaptor.class.getClassLoader();</FONT></SPAN></P><img src ="http://www.blogjava.net/brokendoor/aggbug/21688.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/brokendoor/" target="_blank">破门</a> 2005-11-28 16:25 <a href="http://www.blogjava.net/brokendoor/articles/21688.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>