ошибка загрузки grails + app-engine - PullRequest
0 голосов
/ 03 августа 2010

Я использую Grails 1.3.3 и плагин app-engine 0.8.10;

Мой тестовый пример:

upload.gsp:

<form action="/test/process" method="post" enctype="multipart/form-data">
    <input type="file" name="file"/>
    <input type="submit"/>
</form>

TestController имеет:

def process = { 
    println request.getFile("file").inputStream.text
}

При первой загрузке файла я получаю следующую ошибку:

Error 500: java.rmi.server.UID is a restricted class. Please see the Google App Engine developer's guide for more details.
Servlet: _ah_default
URI: /test/process
Exception Message: java.rmi.server.UID is a restricted class. Please see the Google App Engine developer's guide for more details. 
Caused by: java.rmi.server.UID is a restricted class. Please see the Google App Engine developer's guide for more details. 
Class: Unknown 
At Line: [-1] 
Code Snippet:

И трассировка стека:

java.lang.NoClassDefFoundError: java.rmi.server.UID 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 org.apache.commons.fileupload.disk.DiskFileItem.<clinit>(DiskFileItem.java:103)

После первой попытки любая другая попытка загрузки приведет к другой ошибке:

Ошибка 500: не удалось инициализировать класс org.apache.commons.fileupload.disk.DiskFileItem Сервлет: _ah_default URI: / test / process Сообщение об исключении: не удалось инициализировать класс org.apache.commons.fileupload.disk.DiskFileItem Причина: не удалось инициализировать класс org.apache.commons.fileupload.disk.DiskFileItem Класс: неизвестно В строке: [-1] Фрагмент кода:

И трассировка стека

java.lang.NoClassDefFoundError: Could not initialize class org.apache.commons.fileupload.disk.DiskFileItem
at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:196)

У меня 100% общих загрузок в classpath

Я попытался запустить на производстве - те же ошибки

Я нашел следующее: http://ehcache.org/EhcacheUserGuide.html

49.7.1. Я получаю сообщение об ошибке java.lang.NoClassDefFoundError: java.rmi.server.UID является ограниченным учебный класс Вы используете версию Ehcache до 1.6.

Но версия по умолчанию для grails 1.3.3 dist - 1.7.1, и я также попробовал 1.6.2, 1.7.2, 2.0.0, 2.2.0

1 Ответ

0 голосов
/ 04 августа 2010

Я думаю, это потому, что java.rmi.server.UID не является классом в белом списке в GAE, т.е. вы не можете его использовать.

...