Java IOException только при запуске новой Java 1.6 - кто-то, пожалуйста - PullRequest
3 голосов
/ 12 декабря 2008

После обновления до XP и Java 1.6 одно из наших приложений для интрасети испытывает проблему при запуске Java-апплета в браузере. Java-апплет является редактором документов и принимает параметр, в котором находится документ. Я предполагаю, что он копирует этот файл на компьютер пользователя для редактирования. Хотелось бы знать больше, но у меня нет источника ... дам!

мы получаем исключение java.io.IOException на компьютере под управлением XP-IE6-Java 1.6. Эта проблема не возникает на нашей старой Win2K-IE6-Java 1.3, поэтому мы уверены, что она изолирована от рабочего стола, а не от сервера (в любом случае, на 99% уверен).

Небольшая информация: если вы попытаетесь запустить апплет дважды подряд, он сработает во второй раз. Первый раз не получается. Кроме того, появляется сообщение об ошибке ДО того, как оранжевый логотип загрузки Java появится в браузере.

Я также ввел следующую информацию в файл политики и перезагрузил файл политики через консоль.

grant codeBase "http://intranetserver/*" {
    permission java.security.AllPermission; 
};

здесь дамп трассировки стека. Спасибо за ваше время: -)

java.io.IOException: Write error
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.close(Unknown Source)
    at com.docscience.dlstools.browser.editor.HTMLDocumentLoader.loadDocument(HTMLDocumentLoader.java:94)
    at com.docscience.dlstools.browser.editor.HTMLDocumentLoader.loadDocument(HTMLDocumentLoader.java:113)
    at com.docscience.dlstools.browser.editor.HTMLDocumentLoader.loadDocument(HTMLDocumentLoader.java:126)
    at com.docscience.dlstools.browser.editor.dsBrowserEditor.loadPage(dsBrowserEditor.java:1623)
    at com.docscience.dlstools.browser.editor.dsBrowserEditor.loadFile(dsBrowserEditor.java:1873)
    at com.docscience.dlstools.browser.editor.dsBrowserEditor.(dsBrowserEditor.java:201)
    at com.docscience.dlstools.browser.editor.DLSBrowserEditor.init(DLSBrowserEditor.java:38)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Ответы [ 4 ]

1 голос
/ 16 декабря 2008

Я решил проблему. Отключите временные файлы на панели управления Java.

0 голосов
/ 12 декабря 2008

Ваш код подписан или вы полагаетесь на настройку в файле политики?

Я помню, что у меня была похожая проблема с подписанным кодом. Я не могу вспомнить точную ситуацию, но оказалось, что установка проверки отзыва (или, может быть, OCSP) в консоли Java (Tab Advanced, Section Security) вызывала некоторые проблемы при первом запуске апплета, когда он был включен , SUN заявляет, что они оба отключены по умолчанию, поэтому вы не столкнетесь с этой проблемой, если не включите настройку явно.

Вы можете посмотреть и отключить оба, возможно, это решит проблему, хотя отключение проверки отзыва, вероятно, нежелательно.

0 голосов
/ 15 декабря 2008

Если вы декомпилируете и посмотрите на источник HttpURLConnection, вы увидите, что исключение происходит при записи в кеш HTTP. Смотрите документацию для этого здесь: http://java.sun.com/javase/6/docs/technotes/guides/net/http-cache.html

Возможно, вам придется использовать отладчик, чтобы увидеть, что именно там происходит и в чем причина.

0 голосов
/ 12 декабря 2008

Вы говорите, что переходили с Java v1.3 непосредственно на Java 1.6, у вас была возможность протестировать его вообще с Java 1.4 или 1.5? Немного больше контекстной информации было бы полезно здесь.

...