zoukankan      html  css  js  c++  java
  • 关于RCP+OSGI的部署

    关于RCP+OSGI的部署

    一直有个想法做个Tomcat应用服务器监控程序的,包括数据库的参数设置,备份。日志的管理,备份,应用进程的获取,CPU占用,内存占用。

    通过在Google和百度的查找最初确定为采用sigar+armchats通过web浏览器中查看。但是想来想去还是做成桌面应用程序。从而确定采用RCP+OSGI来实现

    今天主要是下载了一个采用RCP+OSGI的简单JAVA应用来熟悉RCP+OSGI如何使用,在项目部署的过程中遇到了许多的问题现在将问题及解决措施都记录于下

    java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

           at common.utils.WorkbenchUtil.<clinit>(WorkbenchUtil.java:58)

           at main.Application.start(Application.java:34)

           at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

           at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

           at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

           at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)

           at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

           at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

           at java.lang.reflect.Method.invoke(Unknown Source)

           at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)

           at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)

           at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

           at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

    Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory

           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 java.lang.ClassLoader.loadClass(Unknown Source)

           ... 15 more

    主要提示没有找到这个类org/apache/commons/logging/LogFactory 但是我看看我自己的JAR包,没有少东西啊。

     

                           

    擦,明明有LogFactory.class这个类啊,myeclipse眼瞎啊。 经过上stackflow google baidu,每一个方法都试了但还是没用,然后自己在runtime 中的classpath中发现commons.logging包并没有在path中,于是手动添加,解决问题了 不在报上述问题了,转而报另外一种问题了 我给大家瞅瞅

    org.apache.commons.logging.LogConfigurationException: java.lang.IllegalAccessError: class sun.reflect.GeneratedConstructorAccessor3 cannot access its superclass sun.reflect.ConstructorAccessorImpl (Caused by java.lang.IllegalAccessError: class sun.reflect.GeneratedConstructorAccessor3 cannot access its superclass sun.reflect.ConstructorAccessorImpl)

           at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:637)

           at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336)

           at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:310)

           at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)

           at ui.other.provider.impl.LogDirViewTableLabelProvider.<clinit>(LogDirViewTableLabelProvider.java:29)

           at ui.view.LogDirView.initContainer(LogDirView.java:180)

           at ui.view.LogDirView.createPartControl(LogDirView.java:89)

           at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:375)

           at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:229)

           at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)

           at org.eclipse.ui.internal.Perspective.showView(Perspective.java:2245)

           at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1145)

           at org.eclipse.ui.internal.WorkbenchPage$20.run(WorkbenchPage.java:3921)

           at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)

           at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3918)

           at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3894)

           at common.utils.WorkbenchUtil.openViewById(WorkbenchUtil.java:132)

           at main.ApplicationWorkbenchWindowAdvisor.openDefaultView(ApplicationWorkbenchWindowAdvisor.java:126)

           at main.ApplicationWorkbenchWindowAdvisor.postWindowOpen(ApplicationWorkbenchWindowAdvisor.java:106)

           at org.eclipse.ui.internal.WorkbenchWindow.fireWindowOpened(WorkbenchWindow.java:1365)

           at org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:826)

           at org.eclipse.ui.internal.Workbench$24.runWithException(Workbench.java:1243)

           at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)

           at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)

           at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)

           at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)

           at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)

           at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)

           at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1600)

           at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)

           at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)

           at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)

           at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)

           at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)

           at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2609)

           at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)

           at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)

           at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

           at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)

           at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)

           at main.Application.start(Application.java:37)

           at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

           at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

           at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

           at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)

           at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

           at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

           at java.lang.reflect.Method.invoke(Unknown Source)

           at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)

           at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)

           at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

           at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

    Caused by: java.lang.IllegalAccessError: class sun.reflect.GeneratedConstructorAccessor3 cannot access its superclass sun.reflect.ConstructorAccessorImpl

           at sun.misc.Unsafe.defineClass(Native Method)

           at sun.reflect.ClassDefiner.defineClass(Unknown Source)

           at sun.reflect.MethodAccessorGenerator$1.run(Unknown Source)

           at sun.reflect.MethodAccessorGenerator$1.run(Unknown Source)

           at java.security.AccessController.doPrivileged(Native Method)

           at sun.reflect.MethodAccessorGenerator.generate(Unknown Source)

           at sun.reflect.MethodAccessorGenerator.generateConstructor(Unknown Source)

           at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

           at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

           at java.lang.reflect.Constructor.newInstance(Unknown Source)

           at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:608)

           ... 53 more

    And

    java.lang.RuntimeException: Widget disposed too early for part ui.view.ConsoleLogView

           at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed(WorkbenchPartReference.java:171)

           at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:123)

           at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)

           at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)

           at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)

           at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058)

           at org.eclipse.swt.widgets.Widget.release(Widget.java:808)

           at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:873)

           at org.eclipse.swt.widgets.Widget.release(Widget.java:811)

           at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:873)

           at org.eclipse.swt.widgets.Widget.release(Widget.java:811)

           at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:873)

           at org.eclipse.swt.widgets.Canvas.releaseChildren(Canvas.java:167)

           at org.eclipse.swt.widgets.Decorations.releaseChildren(Decorations.java:773)

           at org.eclipse.swt.widgets.Shell.releaseChildren(Shell.java:1290)

           at org.eclipse.swt.widgets.Widget.release(Widget.java:811)

           at org.eclipse.swt.widgets.Widget.dispose(Widget.java:446)

           at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:447)

           at org.eclipse.swt.widgets.Shell.dispose(Shell.java:715)

           at org.eclipse.swt.widgets.Display.release(Display.java:3804)

           at org.eclipse.swt.graphics.Device.dispose(Device.java:295)

           at main.Application.start(Application.java:44)

           at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

           at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

           at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

           at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)

           at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

           at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

           at java.lang.reflect.Method.invoke(Unknown Source)

           at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)

           at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)

           at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

           at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

    and

    java.lang.ExceptionInInitializerError

           at main.ApplicationWorkbenchWindowAdvisor.starupScheduler(ApplicationWorkbenchWindowAdvisor.java:133)

           at main.ApplicationWorkbenchWindowAdvisor.postWindowOpen(ApplicationWorkbenchWindowAdvisor.java:108)

           at org.eclipse.ui.internal.WorkbenchWindow.fireWindowOpened(WorkbenchWindow.java:1365)

           at org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:826)

           at org.eclipse.ui.internal.Workbench$24.runWithException(Workbench.java:1243)

           at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)

           at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)

           at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)

           at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)

           at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)

           at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)

           at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1600)

           at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)

           at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)

           at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)

           at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)

           at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)

           at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2609)

           at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)

           at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)

           at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)

           at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)

           at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)

           at main.Application.start(Application.java:37)

           at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)

           at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)

           at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)

           at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)

           at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)

           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

           at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

           at java.lang.reflect.Method.invoke(Unknown Source)

           at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)

           at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)

           at org.eclipse.equinox.launcher.Main.run(Main.java:1410)

           at org.eclipse.equinox.launcher.Main.main(Main.java:1386)

    Caused by: org.apache.commons.logging.LogConfigurationException: java.lang.IllegalAccessError: class sun.reflect.GeneratedConstructorAccessor5 cannot access its superclass sun.reflect.ConstructorAccessorImpl (Caused by java.lang.IllegalAccessError: class sun.reflect.GeneratedConstructorAccessor5 cannot access its superclass sun.reflect.ConstructorAccessorImpl)

           at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:637)

           at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336)

           at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:310)

           at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685)

           at property.BaseProperty.<clinit>(BaseProperty.java:21)

           ... 37 more

    Caused by: java.lang.IllegalAccessError: class sun.reflect.GeneratedConstructorAccessor5 cannot access its superclass sun.reflect.ConstructorAccessorImpl

           at sun.misc.Unsafe.defineClass(Native Method)

           at sun.reflect.ClassDefiner.defineClass(Unknown Source)

           at sun.reflect.MethodAccessorGenerator$1.run(Unknown Source)

           at sun.reflect.MethodAccessorGenerator$1.run(Unknown Source)

           at java.security.AccessController.doPrivileged(Native Method)

           at sun.reflect.MethodAccessorGenerator.generate(Unknown Source)

           at sun.reflect.MethodAccessorGenerator.generateConstructor(Unknown Source)

           at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

           at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

           at java.lang.reflect.Constructor.newInstance(Unknown Source)

           at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:608)

           ... 41 more

    哈哈错误还挺多的,经过上stackoverflow 有可能是jar包之间存在冲突,又经过了一番探索,我发现在JRE System Library中和Referenced Libraries中都存在rt.jar这个包,会不会就是这个包引起的呢,并且好几个错误都是由sun.reflect这个包引起的。cannot access its superclass sun.reflect.ConstructorAccessorImpl,于是我就把Referenced Libraries这个包给删了,哈哈完美解决了问题。

                                                                                                                                                                            2016.3.13 于青岛

  • 相关阅读:
    离线下载使用Google商店插件crx
    springboot thymeleaf 引入js
    如何保证系统重启,tomcat自动重启
    如何实现财务自由
    理财之道
    九大职场定律
    算法系列二:如何学习算法
    FastDFS结合Flask使用
    系统权限的实现
    正则表达式
  • 原文地址:https://www.cnblogs.com/winAlaugh/p/5273048.html
Copyright © 2011-2022 走看看