2013-03-28 4 views
1

Я получаю эту ошибку:URLStreamHandler является ограниченным классом

java.lang.NoClassDefFoundError: java.net.URLStreamHandler is a restricted class. Please see the Google App Engine developer's guide for more details. 
    at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:51) 
    at com.gargoylesoftware.htmlunit.protocol.javascript.Handler.<init>(Handler.java:50) 
    at com.gargoylesoftware.htmlunit.WebClient.<clinit>(WebClient.java:144) 

При запуске моего приложения GAE, ошибка находится в пределах этого блока кода:

// Setup the headless browser 
    webClient = new WebClient(); 
    webClient.setWebConnection(new UrlFetchWebConnection(webClient)); 

Моего приложение настраиваются с:

<dependency> 
    <groupId>net.sourceforge.htmlunit</groupId> 
    <artifactId>htmlunit</artifactId> 
    <version>2.13-SNAPSHOT</version> 
</dependency> 

Я считаю, что у HTMLUnit был патч, позволяющий ему работать в среде GAE, чего я мог потерять?

+1

Исключение для меня довольно ясное. Вы не можете использовать java.net.URLStreamHandler и HTMLUnit использует его. Вы должны изолировать тест от среды GAE. – DiogoSantana

+0

Из-за URLStreamHandler в белом списке, я думаю https://developers.google.com/appengine/docs/java/jrewhitelist –

+0

@DiogoSantana Мне удалось заставить его работать с 2.13-SNAPSHOT – xybrek

ответ

2

Похоже, я забыл сделать «mvn clean», так как я использовал более раннюю версию HtmlUnit, артефакт все еще был там.

Теперь это работает!

+0

Отлично! Я был рад помочь. – DiogoSantana

Смежные вопросы