Предупреждение о смешанном коде для неподписанного Java-апплета из-за WMPNS.jar
Я использую неподписанный апплет на моем сайте. Начиная с java 1.6u19 начали появляться предупреждения о смешанном коде. Это странно, потому что апплет - это всего лишь одна банка, и он не использует никаких внешних ресурсов.
Я обнаружил, что проблема вызвана файлом WMPNS.jar в каталоге C:\Program Files\Java\jre6\lib\applet. Это подписанная банка от Windows Media Player. Java загружает его вместе с моим неподписанным апплетом, и это вызывает предупреждение. Удаление этого файла решает проблему, но я не могу попросить своих пользователей удалить его.
Можно ли как-то заблокировать загрузку этой банки?
Журнал из консоли java при запуске апплета с http://download.oracle.com/javase/tutorial/deployment/applet/getStarted.html:
Trace level set to 5: all ... completed.
[...]
sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@1a9883d
basic: Plugin2ClassLoader.addURL parent called for file:/C:/Program%20Files/Java/jre6/lib/applet/WMPNS.jar
basic: Plugin2ClassLoader.addURL parent called for http://download.oracle.com/javase/tutorial/deployment/applet/examples/dist/applet_HelloWorld/applet_HelloWorld.jar
Здесь есть еще кто-нибудь, у кого есть WMPNS.jar в каталоге JRE\lib\applet?
3 ответа
Я подтвердил диагноз Эндрю Томпсона, что это вызвано WMPNS.jar. Я сообщил об ошибке в Oracle:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7031651
но на момент написания статьи он еще не появился в публичной базе данных. (Действительно, это ошибка Microsoft - они не должны были вставлять подписанный JAR в это место, но только Oracle имеет возможность исправить проблему сейчас; и именно Oracle изменил правила для предупреждения смешанного кода, когда раньше генерировать любые диалоги.)
Если это когда-либо появится, пожалуйста, проголосуйте за это!
Я обнаружил, что проблема вызвана файлом WMPNS.jar в каталоге C:\Program Files\Java\jre6\lib\applet. Это подписанная банка от Windows Media Player.
Каталог апплета в этом месте в этом поле не содержит никаких архивов, не говоря уже о подписанном архиве от Microsoft.
Учитывая прошлые "взаимодействия" MS с Java/Sun, я бы порекомендовал искать диски вашего компьютера на наличие вредоносных программ. Обратите внимание, что я использую FF поверх IE, который может быть источником проблемы в этом случае.
Большое спасибо ОП. Это беспокоило меня целую вечность. Неподписанные Java-апплеты, включая мои собственные, выдали это предупреждение, в том числе на собственном веб-сайте Oracle. У меня тоже был WMPNS.JAR (с 2002 года!), И его удаление убрало эти ужасные смешанные предупреждения. Это должно быть превращено в подсказку для пользователей, чтобы применить к своим собственным машинам. Я подозреваю, что MS каким-то образом спрятала этот файл в папку, и в какой-то момент через обновление windwos, а затем обновление 6.19 Java вызвало проблемы. Oracle, вероятно, следует исправить установку JRE, чтобы найти этот файл и уничтожить его, потому что я подозреваю, что многие пользователи XP страдают от этого.