`
georgezeng
  • 浏览: 102447 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

基于virgo环境的OSGI+Maven的web开发代码下载(spring+hibernate+GWT)

阅读更多

由于很多朋友在使用我的上一个版本的web开发遇到了非常多的问题,而且很头疼,现在上传一个可以立即运行的版本,供大家参考。此版本是基于之前的非maven版本基础上加入了maven,利用maven来管理bundle项目。

 

请调用osgi.demo项目里的build.xml文件的<deploy-dependencies-to-server-repository>target,进行依赖部署(部署所有bundle的依赖到virgo),这个值请在build.properties中的virgo.location(virgo的本地目录)进行修改

 

关于自身各个bundle项目间的关联:

请在%virgo_home%/config/org.eclipse.virgo.repository.properties文件内加入并修改以下内容

 

 

<一个自定义名称>.type=external

<一个自定义名称>.searchPattern= <osgi.demo各个bundle项目的根目录> /*/{bundle}

 

chain=ext,usr,<一个自定义名称>

 

请修改<>内的内容

修改完成后请到eclipse中的virgo插件(双击Server view里的virgo实例)的Repository标签页中点击Refresh按钮,就可以看到项目的bundle被关联到了,这样就可以用可视化的MANIFEST编辑器进行编辑:)

 

 

 

关于virgo

请使用virgo3.0.3版本+eclipse indigo(最新版)

virgo插件更新地址:http://download.eclipse.org/virgo/milestone/tooling(只选择virgo tools,其它不要选)

 

PS: 之前放出的下载有些小问题,实在是抱歉了,如不能自行解决的请重新下载一次:)

 

分享到:
评论
12 楼 zhaoweisgz 2013-11-04  
谢谢你的共享~
11 楼 georgezeng 2012-12-23  
wangguangji 写道
你好!!!现在遇见了一个奇怪的问题!想请教下你 我的QQ359291873  谢谢!!这方面的资料太少了!!能遇见在国内用virgo真的不容易啊!!



什么问题呢
10 楼 georgezeng 2012-12-23  
zeng_84_long 写道
在windows里面跑没什么问题,但是在Linux中跑不起来

非常抱歉,之前一直没有去linux测试,不过在linux中要跑起来也是可以的,就是对web bundle进行spring context的指定就可以了
9 楼 wangguangji 2012-12-21  
你好!!!现在遇见了一个奇怪的问题!想请教下你 我的QQ359291873  谢谢!!这方面的资料太少了!!能遇见在国内用virgo真的不容易啊!!
8 楼 zeng_84_long 2012-09-24  
在windows里面跑没什么问题,但是在Linux中跑不起来
7 楼 zeng_84_long 2012-09-24  
是的,我加进去就可以跑了。非常感谢您。
6 楼 georgezeng 2012-09-24  
zeng_84_long 写道
请问下面的错误是什么意思?osgi.demo.domain中没有引用org.hibernate.proxy.HibernateProxy。。。。
Caused by: org.eclipse.virgo.kernel.osgi.framework.ExtendedClassNotFoundException: org.hibernate.proxy.HibernateProxy in KernelBundleClassLoader: [bundle=osgi.demo.domain_1.0.0]
at org.eclipse.virgo.kernel.userregion.internal.equinox.KernelBundleClassLoader.loadClass(KernelBundleClassLoader.java:138)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 66 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.hibernate.proxy.HibernateProxy
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at org.eclipse.virgo.kernel.userregion.internal.equinox.KernelBundleClassLoader.loadClass(KernelBundleClassLoader.java:134)
... 67 common frames omitted



你的domain的bundle需要加上对hibernate的支持,并且需要对其进行import-scope的定义,我的demo的代码里应该有的,你可以看看
5 楼 zeng_84_long 2012-09-23  
请问下面的错误是什么意思?osgi.demo.domain中没有引用org.hibernate.proxy.HibernateProxy。。。。
Caused by: org.eclipse.virgo.kernel.osgi.framework.ExtendedClassNotFoundException: org.hibernate.proxy.HibernateProxy in KernelBundleClassLoader: [bundle=osgi.demo.domain_1.0.0]
at org.eclipse.virgo.kernel.userregion.internal.equinox.KernelBundleClassLoader.loadClass(KernelBundleClassLoader.java:138)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 66 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.hibernate.proxy.HibernateProxy
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at org.eclipse.virgo.kernel.userregion.internal.equinox.KernelBundleClassLoader.loadClass(KernelBundleClassLoader.java:134)
... 67 common frames omitted
4 楼 zeng_84_long 2012-09-23  
找到原因了,web工程下面的web-inf缺少gwt-servlet-2.4.0.jar,非常感谢你的demo
3 楼 zeng_84_long 2012-09-23  
兄弟,非常感谢你回答我的问题,我在跑这个demo的时候。出现下面的错误,请教是什么情况发生的呢?

[2012-09-23 22:49:40.062] start-signalling-2           <DE0006E> Start failed for bundle 'osgi.demo.web' version '1.0.0'. org.eclipse.virgo.kernel.deployer.core.DeploymentException: Web application failed to start
at org.eclipse.virgo.web.core.internal.WebBundleLifecycleListener.onStarted(WebBundleLifecycleListener.java:132)
at org.eclipse.virgo.kernel.install.artifact.internal.StandardArtifactStateMonitor.onStarted(StandardArtifactStateMonitor.java:247)
at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.asyncStartSucceeded(AbstractInstallArtifact.java:294)
at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.access$0(AbstractInstallArtifact.java:291)
at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact$StateMonitorSignal.signalSuccessfulCompletion(AbstractInstallArtifact.java:229)
at org.eclipse.virgo.kernel.core.internal.BundleStartTracker$1.run(BundleStartTracker.java:143)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.eclipse.gemini.web.core.WebApplicationStartFailedException: org.eclipse.gemini.web.core.spi.ServletContainerException: Web application at '/test' failed to start. Check the logs for more details.
at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:108)
at org.eclipse.virgo.web.core.internal.WebBundleLifecycleListener.onStarted(WebBundleLifecycleListener.java:122)
... 8 common frames omitted
Caused by: org.eclipse.gemini.web.core.spi.ServletContainerException: Web application at '/test' failed to start. Check the logs for more details.
at org.eclipse.gemini.web.tomcat.internal.TomcatServletContainer.startWebApplication(TomcatServletContainer.java:125)
at org.eclipse.gemini.web.internal.StandardWebApplication.start(StandardWebApplication.java:91)
... 9 common frames omitted
2 楼 georgezeng 2012-09-23  
都可以,我这里是用了工程目录
zeng_84_long 写道
您好,请问<osgi.demo各个bundle项目的根目录> /*/{bundle}是什么意思?是编译之后打包的bundle目录,还是源代码工程目录呢?


都能扫描到,我这里主要是用来扫描工程目录
1 楼 zeng_84_long 2012-09-23  
您好,请问<osgi.demo各个bundle项目的根目录> /*/{bundle}是什么意思?是编译之后打包的bundle目录,还是源代码工程目录呢?

相关推荐

Global site tag (gtag.js) - Google Analytics