Назад | Перейти на главную страницу

добавить jcifs jar в путь к классам tomcat

У меня есть следующие ИССУ:

В моем веб-приложении один из jar-файлов должен находиться в tomcat5.5 $ CLASSPATH, а не как другой в WEBAPP / lib.

Я поместил его в каталог tomcatdir / server / lib. (а затем в tomcatdir / common / lib). Безуспешно.

Если jar не загружается системным загрузчиком (java), я не могу использовать все функции, предоставляемые jar.

Установите переменную типа URL со схемой типа "smb", чтобы быть точным.

На самом деле я пытаюсь сделать следующее:

http://jcifs.samba.org/src/docs/faq.html#ukproto

Кто-нибудь с такой же проблемой? с большим опытом работы с котом?

Спасибо

Антуан

Решение состоит из двух частей:

  1. Добавьте jcifs jar в путь к классам tomcat вручную (явно добавив абсолютный путь к /ect/init.d/tomcat5.5).

  2. также установите следующее свойство Java System:

- java.protocol.handler.pkgs=jcifs Для этого есть два выбора

  • Сделайте это своим исходным кодом, при запуске приложения за примером.

    Properties prop = System.getProperties();
    prop.setProperty("java.protocol.handler.pkgs", "jcifs");
    
  • Или java -Djava.protocol.handler.pkgs = jcifs при запуске или TOMCAT (не в приложении). См. Сценарий запуска tomcat, для этого предназначена переменная. (JAVA_OPT)

Если вы подтвердили, что он не загружается в ваш путь к классам (то есть через отладчик или какой-либо другой метод), вам, возможно, придется поместить его в каталог $ JDK_HOME / jre / lib, чтобы гарантировать, что загрузчик классов System загрузит его вместе с виртуальной машиной. .

В качестве альтернативы, если вам нужен доступ к файловой системе CIFS, вы можете использовать проект Apache Commons VFS. Это оболочка для ряда различных файловых систем, и я с большим успехом использовал ее в ряде своих прошлых проектов. У меня никогда не было проблем, просто поместив его в каталог $ CATALINA_HOME / common / lib (где $ CATALINA_HOME - ваш каталог Tomcat). Хотя должен вас предупредить, что модуль CIFS в настоящее время находится в стадии инкубации.