我可以在没有Commons-logging.jar的情况下使用Apache HTTPClient

Nay*_*iya 9 java apache-commons apache-httpclient-4.x

我正在尝试Apache HTTPClient在我的项目中使用.此处不需要此应用程序的任何日志记录.所以我可以HTTPClient不用Commons-logging.jar.否则,这将是我的分发包的额外不必要的负担.

Eug*_*gen 20

是的你可以.正如Hannes所说 - 这是我自己的HttpClient maven设置:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.3.1</version>
    <exclusions>
        <exclusion>
            <artifactId>commons-logging</artifactId>
            <groupId>commons-logging</groupId>
        </exclusion>
    </exclusions>
</dependency>
Run Code Online (Sandbox Code Playgroud)

接下来,由于common-logging确实是运行时依赖项,因此您需要为以下内容定义SLF4J桥commons-logging:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>1.7.5</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

最后,您当然需要有一个有效的SLF4J配置 - 这是我的:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.5</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.0.11</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


Han*_*nes 5

您可以将 slf4j 与 JCL 桥结合使用。这会将 JCL 日志记录转发到 slf4j。添加一个 slf4j 适配器(例如 log back 或 log4j)并正确配置它。

使用maven时,不要忘记排除JCL依赖。

http://www.slf4j.org/legacy.html