1

我觉得这应该更容易,或者我错过了一些明显的东西。

我正在尝试将我们的自定义 JUL 日志库与 Jetty 一起使用。无论我将自定义记录器的 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 应用程序,则不再使用普通的类路径参数。您可以做的是在 META-INF/MANIFEST.MF 文件中列出 .jar 文件。即我的一个 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

这样,jar 就可以作为 Classpath 的一部分使用。

于 2012-08-28T12:17:23.000 回答