以下是实现代码:
JAXBContext jc = JAXBContext.newInstance("cn.capitek.stat.fuse.predeal.config.ftp");
Unmarshaller u = jc.createUnmarshaller();
InputStream in = CCommonFunc.getInputStream("META-INF/conf-test/ftp.xml");
JAXBElement<?> reportconfigElement = (JAXBElement<?>)u.unmarshal(in);
in.close();
//测试对象类型
Object obj = reportconfigElement.getValue();
System.out.println(obj.getClass());
System.out.println(obj.equals(new FtpConfigType()));
List<FtpType> ftpArray=((FtpConfigType)reportconfigElement.getValue()).getFtp();
System.out.println("============="+ftpArray.size());
使用spring osgi test进行单元测试
引用
java.lang.ClassCastException: cn.capitek.stat.fuse.predeal.config.ftp.FtpConfigType
at cn.capitek.stat.fuse.predeal.service.collector.impl.FtpFileCollectorsManager.getFtpList(FtpFileCollectorsManager.java:156)
at cn.capitek.stat.fuse.predeal.service.collector.impl.FtpFileCollectorsManager.startCollectors(FtpFileCollectorsManager.java:95)
at test.cn.capitek.stat.fuse.predeal.service.collector.impl.TestFtpFileCollectorsManager.testGetFile(TestFtpFileCollectorsManager.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:164)
at org.springframework.osgi.test.AbstractOsgiTests.osgiRunTest(AbstractOsgiTests.java:553)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:193)
at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:178)
at org.springframework.osgi.test.internal.support.OsgiJUnitTestAdapter.osgiRunTest(OsgiJUnitTestAdapter.java:76)
at org.springframework.osgi.test.internal.support.OsgiJUnitService$1.protect(OsgiJUnitService.java:101)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at org.springframework.osgi.test.internal.support.OsgiJUnitService.runTest(OsgiJUnitService.java:98)
at org.springframework.osgi.test.internal.support.OsgiJUnitService.executeTest(OsgiJUnitService.java:71)
at org.springframework.osgi.test.internal.support.OsgiJUnitService.runTest(OsgiJUnitService.java:45)
at org.springframework.osgi.test.JUnitTestActivator.executeTest(JUnitTestActivator.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.osgi.test.AbstractOsgiTests.invokeOSGiTestExecution(AbstractOsgiTests.java:397)
at org.springframework.osgi.test.AbstractOsgiTests.runBare(AbstractOsgiTests.java:206)
at org.springframework.osgi.test.AbstractOsgiTests$1.protect(AbstractOsgiTests.java:184)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at org.springframework.osgi.test.AbstractOsgiTests.run(AbstractOsgiTests.java:181)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
直接junit测试该段代码没有问题,个人猜测又是可恶的classloader导致的。
分享到:
相关推荐
总之,"OSG基本MFc框架"为初学者提供了一个学习OSG与MFC结合开发的起点,通过这个框架,你可以掌握如何在Windows环境下构建3D图形应用程序,并逐步探索更高级的3D图形编程技巧。同时,不断实践和学习,可以提升在3D...
osgQt是osg的一个扩展,它将osg的功能与Qt框架集成,提供了一种在Qt应用中轻松使用3D图形的方式。Qt是一个跨平台的应用程序开发框架,广泛用于创建用户界面。osgQt允许开发者在Qt环境中无缝地嵌入复杂的3D场景,使得...
### OsgEarth2.8 在vs2013 Qt5.4环境下加载谷歌影像与高程数据 #### 一、OsgEarth2.8简介 OsgEarth是基于OpenSceneGraph(OSG)的一个插件集,用于创建地理空间3D应用程序。OsgEarth为开发者提供了丰富的API来处理...
OSG 三维引擎架构 OSG 三维引擎架构是 OpenSceneGraph(OSG)引擎的核心组件,负责处理三维图形渲染、场景管理、数据加载和渲染流程管理。osg架构总体上可以分为五个部分:场景相关、几何图形、渲染相关、数据加载...
"使用osg获取模型的世界坐标下的包围盒"这一技术正是为了满足这样的需求。osg,全称OpenSceneGraph,是一个强大的开源3D图形库,广泛应用于游戏开发、科学可视化等领域。它提供了一种高效的方法来计算3D模型的包围盒...
在OpenSceneGraph (Osg) 中使用3Dmax的FBX(Filmbox)文件库是一项重要的功能,因为FBX格式是3D建模和动画领域广泛使用的交换格式,它允许跨多个软件平台导入和导出复杂的3D模型和动画数据。在本篇中,我们将深入...
其中,OpenSceneGraph(OSG)是一个强大的3D图形应用程序开发库,而osgEarth则是基于OSG构建的一个开源地球可视化框架。本文将详细讨论标题和描述中提及的知识点,包括geos3.5.1、OSG3.4.0、osgEarth2.8以及它们与...
1. 创建OSGEarth框架:首先,我们需要创建一个OSGEarth::SceneNode,并将其附加到OSG的场景图中。这个节点包含了地球模型和其他所有数据层。 2. 加载地形数据:通过OSGEarth::TerrainLayer,我们可以指定DEM文件或...
在VS2010和OSG 3.2的环境下,理解并正确使用回调函数对于任何希望深入学习OSG的初学者来说都至关重要。 一、回调函数的概念 回调函数,顾名思义,是“回调”到你的代码中的函数。在OSG中,当某些事件如鼠标点击、...
总之,这个项目展示了如何在32位环境下使用最新的OSG版本与Qt进行协同工作,特别是在涉及到图形用户界面和高性能3D渲染时。通过这种方式,开发者可以利用这两个强大工具的优点,创建出功能丰富的3D应用。
1. **数据结构与设计模式**:OSG中大量使用了面向对象的设计模式,如工厂模式、单例模式、观察者模式等。书中会详细介绍这些模式在OSG中的应用,以及如何通过这些模式实现高效的数据管理和对象交互。 2. **图形渲染...
本文将详细讲解如何在Qt Creator环境下使用osgEarth创建一个基于Qt的三维数字地球应用。首先,我们关注的核心技术包括osg(OpenSceneGraph)和osgEarth,以及与之结合的Qt库。osg是一个高性能的3D图形库,而osgEarth...
接下来是《最长的一帧.pdf》,这本书可能深入探讨了3D图形编程的各个方面,特别是在OSG框架下。书名暗示了它可能会涉及渲染优化,因为“最长的一帧”通常指的是影响游戏或应用性能的关键步骤。书中可能包含如何减少...
本例子将详细讲解如何使用osg来读取并显示点云数据。 1. **OpenSceneGraph介绍** OpenSceneGraph是一个基于OpenGL的高性能3D图形库,它提供了丰富的图形功能,包括几何建模、纹理映射、光照处理、动画系统等。osg...
总之,这个压缩包提供的GDAL2.2.2库对于那些使用OSG3.4.0和osgEarth2.8的开发者来说,是一个重要的组件,它使得在Windows平台下开发3D地理应用变得更加便捷。通过GDAL的接口处理地理数据,再借助OSGEarth在3D场景中...
OSG的强大之处在于它提供了一个高效、灵活的框架,可以用来创建复杂的3D场景,并且支持高级渲染技术。 1. **osg基础** OSG的核心是场景图(Scene Graph),这是一种数据结构,用于组织3D对象和它们的属性。场景图...
在图形渲染领域,OpenSceneGraph(简称OSG)是一款强大的跨平台图形框架,它支持多种数据格式和丰富的渲染特性,广泛应用于游戏开发、虚拟现实、科学可视化等多个领域。然而,作为OSG初学者,在使用过程中可能会遇到...
在 OsgEarth 中加载谷歌卫星地图的 ArcGISServer 服务教程是指通过使用水经注万能地图下载器下载的谷歌卫星地图瓦片数据,在 ArcGIS 中发布服务,并在 OsgEarth 中加载发布好的瓦片服务。以下是相关知识点: 1. ...
然后重新基于所需版本的Qt及osg库编译出osgQt库,包内包含 头文件/lib库/DLL动态链接库,编译器使用的是vs2017,这是 x64 版本的开发库,由于VS2015/VS2017/VS2019是二进制兼容的,所以理论上在三个环境下都可以使用...