Причал с пользовательским регистратором JUL - PullRequest
1 голос
/ 29 июня 2011

Мне кажется, это должно быть проще, или я упускаю что-то очевидное.

Я пытаюсь использовать нашу пользовательскую библиотеку журналов JUL с Jetty.Неважно, куда я помещаю файл JAR для специального регистратора, он не найден.Я судил обычных подозреваемых;/ lib /, / lib / ext /, / WEB-INF / lib / и даже вручную добавили его в classpath.

2011-06-29 15:27:34.518::INFO:  Started SelectChannelConnector@0.0.0.0:8080
Can't load log handler "net.aw20.logshot.client.LogShotHandler"
  java.lang.ClassNotFoundException: net.aw20.logshot.client.LogShotHandler
   java.lang.ClassNotFoundException: net.aw20.logshot.client.LogShotHandler
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)

Я запускаю Jetty, используя технику "-jar start.jar".Осматривая, я обнаружил пару тем, которые рассказывают об этой проблеме, но без разрешения.Или, если был, они не ответили своим решением.

Кто-нибудь может помочь в этом вопросе?

Спасибо

1 Ответ

0 голосов
/ 28 августа 2012

Если вы запускаете приложение Java с "-jar", обычные аргументы classpath больше не используются.Вместо этого вы можете перечислить файл .jar в файле META-INF / MANIFEST.MF.Т.е. в одном из моих jar-файлов есть следующее:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 20.6-b01 (Sun Microsystems Inc.)
Built-By: user1
Bundle-Vendor: myCompany
Bundle-Version: 1.0.0.1
Implementation-Version: 1.0.0.1
Class-Path: commons.jar lib/hibernate3.jar

и таким образом банки доступны как часть Classpath.

...