以下是实现代码:
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...
1. 创建OSGEarth框架:首先,我们需要创建一个OSGEarth::SceneNode,并将其附加到OSG的场景图中。这个节点包含了地球模型和其他所有数据层。 2. 加载地形数据:通过OSGEarth::TerrainLayer,我们可以指定DEM文件或...
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以及它们与...
在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框架下。书名暗示了它可能会涉及渲染优化,因为“最长的一帧”通常指的是影响游戏或应用性能的关键步骤。书中可能包含如何减少...
总之,这个压缩包提供的GDAL2.2.2库对于那些使用OSG3.4.0和osgEarth2.8的开发者来说,是一个重要的组件,它使得在Windows平台下开发3D地理应用变得更加便捷。通过GDAL的接口处理地理数据,再借助OSGEarth在3D场景中...
本例子将详细讲解如何使用osg来读取并显示点云数据。 1. **OpenSceneGraph介绍** OpenSceneGraph是一个基于OpenGL的高性能3D图形库,它提供了丰富的图形功能,包括几何建模、纹理映射、光照处理、动画系统等。osg...
OSG的强大之处在于它提供了一个高效、灵活的框架,可以用来创建复杂的3D场景,并且支持高级渲染技术。 1. **osg基础** OSG的核心是场景图(Scene Graph),这是一种数据结构,用于组织3D对象和它们的属性。场景图...
在图形渲染领域,OpenSceneGraph(简称OSG)是一款强大的跨平台图形框架,它支持多种数据格式和丰富的渲染特性,广泛应用于游戏开发、虚拟现实、科学可视化等多个领域。然而,作为OSG初学者,在使用过程中可能会遇到...
本篇文章将详细介绍如何使用 CMake 编译 OSGEarth 3.5,这是一个基于 OpenSceneGraph(OSG)的开源地理信息系统库。 首先,我们需要理解 OSGEarth 的核心功能。OSGEarth 是 OSG 的扩展,提供了与地理位置数据交互的...
然后重新基于所需版本的Qt及osg库编译出osgQt库,包内包含 头文件/lib库/DLL动态链接库,编译器使用的是vs2017,这是 x64 版本的开发库,由于VS2015/VS2017/VS2019是二进制兼容的,所以理论上在三个环境下都可以使用...