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



我正在尝试在项目中用户Apache HTTPClient。这里不需要对此应用程序进行任何记录。因此,我可以在没有Commons-logging.jar的情况下使用HTTPClient。否则,这将是我的分销套餐的额外不必要的负担。

是的。正如汉尼斯所建议的那样 - 这是我自己的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>

接下来,由于common-logging确实是运行时依赖性,因此您需要定义commons-logging的SLF4J桥梁:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
    <version>1.7.5</version>
</dependency>

最后,您当然需要具有有效的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>

希望这会有所帮助。

您可以将SLF4J与JCL桥一起使用。这将使JCL记录到SLF4J。比您添加slf4j适配器(如登录或log4j)并正确配置。

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

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

最新更新