小编Phư*_*yễn的帖子

难以置信:无法从 X 级投射到其超级

我在 Spring (3.0.1.RELEASE)、TestNG (5.11) 和 Maven Surefire (2.5) 中遇到了一个非常奇怪的问题。我有一个测试类,它扩展了 testNG 的 Spring 辅助类,以便可以从 xml 文件(包含一些 bean 定义)加载测试上下文。我的项目是使用m2eclipse(使用Import Maven Project)导入到eclipse中的。该类在 Eclipse TestNG 运行程序中运行良好。然而,它用 Maven Surefire 抛出这个异常:

Caused by: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl cannot be cast to javax.xml.parsers.DocumentBuilderFactory
 at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:123)
 at org.springframework.beans.factory.xml.DefaultDocumentLoader.createDocumentBuilderFactory(DefaultDocumentLoader.java:89)
 at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:70)
 at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388)
Run Code Online (Sandbox Code Playgroud)

我已经消除了 pom 中所有涉及的依赖项,以便这两个类 com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpljavax.xml.parsers.DocumentBuilderFactory来自 JRE(rt.jar)。

所以,这对我来说看起来非常难以置信。

我想知道加载类中是否有任何机制可以解释这种行为?

谢谢。

更新:这是我的依赖树:

[INFO] org.seamoo:seamoo-webapp:war:1.0-SNAPSHOT
[INFO] +- com.google.appengine:appengine-api-1.0-sdk:jar:1.3.1:compile
[INFO] +- com.google.gwt:gwt-servlet:jar:2.0.3:compile
[INFO] +- com.google.gwt:gwt-user:jar:2.0.3:provided
[INFO] +- org.apache.geronimo.specs:geronimo-servlet_2.5_spec:jar:1.2:provided
[INFO] +- org.slf4j:slf4j-api:jar:1.5.6:compile
[INFO] +- ch.qos.logback:logback-classic:jar:0.9.15:compile
[INFO] |  \- ch.qos.logback:logback-core:jar:0.9.15:compile
[INFO] +- …
Run Code Online (Sandbox Code Playgroud)

testng spring maven-2 maven-surefire-plugin

5
推荐指数
1
解决办法
4498
查看次数

删除域和子域之间的OPTIONS请求?

我们需要构建我们的网站,以便前端和后端在不同的机器上运行,并且前端将向后端发出ajax请求以获取要呈现的数据。

我们面临的挑战是,通过这种设计,呈现前端的浏览器需要在与后端联系时随时提交OPTIONS请求。

有办法吗?例如,我们在处运行前端,在处运行service.com后端api.service.com,这service.com应该可以访问“ XYZservice.com”,而不需要持续的OPTIONS预检请求,不是吗?

cross-domain cors

5
推荐指数
1
解决办法
1595
查看次数

Google App Engine:单元测试对memcache的并发访问

你们能告诉我一种在Google App Engine上模拟对memcache的并发访问的方法吗?我正在尝试使用LocalServiceTestHelpers和线程,但没有任何运气.每次我尝试在一个线程中访问Memcache,然后我收到此错误:

ApiProxy$CallNotFoundException: The API package 'memcache' or call 'Increment()' was not found
Run Code Online (Sandbox Code Playgroud)

我猜GAE SDK的测试库试图模仿真实环境,因此只为一个线程(运行测试的线程)设置环境,这是其他线程无法看到的.

这是一段可以重现问题的代码

package org.seamoo.cache.memcacheImpl;

import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

import com.google.appengine.api.memcache.MemcacheService;
import com.google.appengine.api.memcache.MemcacheServiceFactory;
import com.google.appengine.tools.development.testing.LocalMemcacheServiceTestConfig;
import com.google.appengine.tools.development.testing.LocalServiceTestHelper;

public class MemcacheTest {
 LocalServiceTestHelper helper;

 public MemcacheTest() {
  LocalMemcacheServiceTestConfig memcacheConfig = new LocalMemcacheServiceTestConfig();
  helper = new LocalServiceTestHelper(memcacheConfig);
 }

 /**
  * 
  */
 @BeforeMethod
 public void setUp() {
  helper.setUp();
 }

 /**
  * @see LocalServiceTest#tearDown()
  */
 @AfterMethod
 public void tearDown() {
  helper.tearDown();
 }

 @Test
 public void memcacheConcurrentAccess() …
Run Code Online (Sandbox Code Playgroud)

google-app-engine memcached

4
推荐指数
1
解决办法
1966
查看次数

VIM:知道按下某个键时执行的命令

例如,当我按下某个键时,如何知道将执行哪个命令<Leader>c

vim

4
推荐指数
1
解决办法
1225
查看次数

浏览器不允许 iframe 进行重定向?

Google Chrome 23 和 Firefox 18 让我抓狂。我有一个页面,其中有一个 iframe。单击按钮时,我希望打开 iframehttp://images.google.com

问题是 iframe 将尝试访问http://images.google.com,但是一旦它收到重定向指令(http://images.google.com正在发出),它就会停止并且页面将不会' t 被渲染。这是为什么?有什么解决办法吗?

这是演示该问题的片段:

<iframe id="panel" style="height: 800px; width: 100%" sandbox="allow-scripts" src="http://images.google.com">
</iframe> 
Run Code Online (Sandbox Code Playgroud)

iframe google-chrome

4
推荐指数
1
解决办法
2万
查看次数

创建仅允许s3的AWS访问密钥

我想创建一个只允许s3的AWS访问密钥.这意味着密钥不能与任何其他服务一起使用.可能吗?怎么样?

amazon-s3 amazon-web-services amazon-iam

4
推荐指数
2
解决办法
3023
查看次数

如何使用Ant调试GWT

我知道如果我使用Google Plugin for Eclipse,这项工作会更简单.

但是,在我的情况下,我大量改编Maven,因此插件不适合我.(事实上​​,它给了我整整一周的头痛).

相反,我依赖于我从http://code.google.com/webtoolkit/doc/latest/tutorial/appengine.html学到的蚂蚁脚本

该文件非常清楚; 我按照文章使用ant devmode成功调用了DevMode.但是,该文档没有告诉我有关调试GWT的信息(就像Eclipse的Google插件可以做的那样).

基本上,我想在暴露调试端口的ant任务中添加一些参数(类似于(本地主机:58807中的com.google.gwt.dev.DevMode)),以便我可以将我的eclipse连接到.

我怎样才能做到这一点?

ant gwt remote-debugging

3
推荐指数
1
解决办法
3461
查看次数

如何在Scala上使用属性?

是的,您可以通过setName设置属性名称并通过getName获取它.但是在C#中这样的属性怎么样:

int Name{
  get{return name;}
  set{name = value;}
}
Run Code Online (Sandbox Code Playgroud)

要么

Name{get; set;} 
Run Code Online (Sandbox Code Playgroud)

(汽车财产)

我想知道Scala中是否存在这样的事情.谷歌搜索没有任何信号.

c# encapsulation scala

3
推荐指数
1
解决办法
1173
查看次数

Cent OS上nginx的init.d脚本

我正在使用这个的init.d脚本:http://wiki.nginx.org/RedHatNginxInitScript但这个脚本很糟糕我的CentOS 5.5 nginx 1.0.6(由乘客安装).它有两个原因:

  1. 当我跑service nginx start,它启动nginx但然后不要自己退出.

  2. 它运行在一些不同的运行时路径($ PATH)中,以便rails无法找到位于/ usr/local/bin内的可执行文件(如node.js)

是否有任何init.d脚本适用于你们(在CentOS或其他基于Redhat的发行版上)没有这些问题?

centos5 centos nginx init.d

3
推荐指数
1
解决办法
8941
查看次数

Rails应用程序可以处理多少并发上载

我们希望在2到3分钟内上传几千个.大多数上传量约为20 - > 200 Mb.从技术上讲,我认为上传与Rails没什么关系,而是WebServer(Apache/Nginx),所以只要服务器可以处理并发请求,那么Rails应用程序就没有多少工作要做(移动文件除外)正确存储并创建数据库记录以跟踪文件).

我的假设是对的吗?通常,单个Rails应用程序进程可以处理多少并发上载?(鉴于Rails应用程序可能需要20毫秒进行所有计算,移动文件和创建数据库记录,但连接必须保持活动1分钟,以便文件可以成功传输)

file-upload ruby-on-rails

2
推荐指数
1
解决办法
732
查看次数