1

これはもっと簡単だと思うか、明らかな何かが欠けています。

Jetty でカスタム JUL ログ ライブラリを使用しようとしています。カスタム ロガーの JAR ファイルをどこに置いても見つかりません。私はいつもの容疑者を試しました。/lib/、/lib/ext/、/WEB-INF/lib/、さらに手動でクラスパスに追加しました。

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)

「-jar start.jar」手法を使用して Jetty を起動しています。調べてみると、この問題について話しているスレッドがいくつか見つかりましたが、解決策はありません。または、あったとしても、彼らは解決策で答えませんでした。

誰でもこの面で助けることができますか?

ありがとう

4

1 に答える 1

0

「-jar」を使用して Java アプリケーションを開始すると、通常のクラスパス引数は使用されなくなります。代わりにできることは、.jar ファイルを META-INF/MANIFEST.MF ファイルにリストすることです。つまり、jarファイルの1つに次のものがあります。

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

このようにして、jar はクラスパスの一部として利用できます。

于 2012-08-28T12:17:23.000 に答える