Как я управляю ClassPath в WebSphere

Мне удалось заставить его работать, удалив слово «BLOB:» из URL, только для IE.

new Worker (URL.createObjectURL (new Blob ([""])). Replace ('blob:', ''));

Это сработало в http: // localhost /ie.html и по адресу c: \ inetpub \ wwwroot \ ie.html

7
задан DaveH 9 January 2009 в 12:04
поделиться

4 ответа

Я принимаю WebSphere, Вы имеете в виду обычный Сервер приложений J2EE (и не что-то как Общественный Выпуск; WebSphere является торговой маркой, относился ко многим продуктам IBM).

Я думаю, что Ваши опции ограничены. Так как зависимости выглядят довольно явными, я предпочел бы программный подход вместо того, чтобы полагаться на капризы пути к классу (как создание экземпляров фабрики явно вместо того, чтобы полагаться на SPI).

Если это не опция, Вы могли бы хотеть посмотреть на создание одной из Ваших зависимостей утилита JAR проекта EAR и настроить МОДУЛЬ classloading с PARENT_LAST classloading политика в отношении ВОЙНЫ. Это может быть настроено через консоль администрирования браузера (или через инструменты RAD при использовании его).

Другой вещью, на которую я посмотрел бы, является функция WAS Shared Libraries (под Средой в консоли администрирования браузера). Они могут быть связаны с серверами или приложениями. Оборотная сторона - то, что это требует большего количества конфигурации.

4
ответ дан 7 December 2019 в 03:21
поделиться

В Сервере приложений 6.1 IBM Websphere веб-модули имеют свои собственные загрузчики класса, которые обычно используются в режиме PARENT_FIRST. Это означает, что веб-загрузчики класса модуля пытаются делегировать класс, загружающийся к загрузчикам родительского класса, прежде, чем загрузить любые новые классы.

Если Вы хотите загрузить классы Xerces перед синтаксическим анализатором XML v2 (я принимаю синтаксический анализатор Oracle XML v2), классы, то классы Xerces должны будут быть загружены загрузчиком родительского класса - в этом случае, предпочтительно загрузчик класса приложений. Это может быть сделано путем размещения банки Xerces в корне файла EAR (если у Вас есть один), или подготовьте файл EAR с xerces.jar и Ваш ВОЕННЫЙ файл в корне. xmlparserv2 банка должна затем быть помещена в СЕТЬ-INF\lib.

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

Можно найти больше информации об этом в Сервере приложений V6.1 IBM WebSphere: Управление системой и Конфигурация. Детали доступны в Главе 12.

4
ответ дан 7 December 2019 в 03:21
поделиться

You could also try setting system property to prefer an implementation. e.g. to prefer xmlparserv2 dom parser, set javax.xml.parsers.DocumentBuilderFactory=oracle.xml.jaxp.JXDocumentBuilderFactory

0
ответ дан 7 December 2019 в 03:21
поделиться

Как JAXP выбирает парсеры

Возможно, вам интересно, какой парсер эта программа действительно использует. В конце концов, JAXP не зависит от парсера. Ответ зависит от того, какие парсеры установлены в вашем пути к классу и как заданы определенные системные свойства. По умолчанию используется класс, названный системным свойством javax.xml.parsers.DocumentBuilderFactory . Например, если вы хотите убедиться, что Xerces используется для анализа документов, запустите JAXPChecker следующим образом:

D:\books\XMLJAVA>java -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl  JAXPChecker file:///D:/books/xmljava/dom.xml
> file:///D:/books/xmljava/dom.xml is well-formed.

Если свойство javax.xml.parsers.DocumentBuilderFactory не установлено, то JAXP просматривает файл свойств lib / jaxp.properties в каталоге JRE, чтобы определить значение по умолчанию для системного свойства javax.xml.parsers.DocumentBuilderFactory . Если вы хотите постоянно использовать определенный парсер DOM, например gnu.xml.dom.JAXPFactory , поместите в этот файл следующую строку:

javax.xml.parsers.DocumentBuilderFactory=gnu.xml.dom.JAXPFactory

Если не удается найти синтаксический анализатор, следующий JAXP ищет файл META-INF / services / javax.xml.parsers.DocumentBuilderFactory во всех файлах JAR, доступных среде выполнения, чтобы найти имя конкретного подкласса DocumentBuilderFactory .

Наконец, если это не удается, тогда DocumentBuilderFactory.newInstance () возвращает класс по умолчанию, обычно синтаксический анализатор от поставщика, который также предоставил классы JAXP. Например, классы JDK JAXP по умолчанию выбирают org.apache.crimson.jaxp.DocumentBuilderFactoryImpl , но вместо этого классы Ælfred JAXP выбирают gnu.xml.dom.JAXPFactory .

1
ответ дан 7 December 2019 в 03:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: