Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Maven中排除依赖项<;报告>;插件?_Java_Maven_Dependencies_Reporting_Pom.xml - Fatal编程技术网

Java 如何在Maven中排除依赖项<;报告>;插件?

Java 如何在Maven中排除依赖项<;报告>;插件?,java,maven,dependencies,reporting,pom.xml,Java,Maven,Dependencies,Reporting,Pom.xml,如何从reporting Maven插件中排除依赖项?cobertura maven插件令人恼火地引入了ch.qos.logback:logback classic,这会在构建和运行期间导致多个SLF4J绑定警告。我尝试用将插入插件,但出于某种原因,maven在部分不允许这样做。感谢您的帮助。相关POM如下所示 <reporting> <plugins> <plugin> <groupId>org.a

如何从reporting Maven插件中排除依赖项?
cobertura maven插件
令人恼火地引入了
ch.qos.logback:logback classic
,这会在构建和运行期间导致多个SLF4J绑定警告。我尝试用
插入插件,但出于某种原因,maven在
部分不允许这样做。感谢您的帮助。相关POM如下所示

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>2.8</version>
            <configuration>
               <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>cobertura-maven-plugin</artifactId>
            <version>2.7</version>
            <configuration>
                <formats>
                    <format>html</format>
                    <format>xml</format>
                </formats>
            </configuration>
        </plugin>
    </plugins>
</reporting>

org.apache.maven.plugins
maven项目信息报告插件
2.8
假的
org.codehaus.mojo
cobertura maven插件
2.7
html
xml

这是一个老问题,但我会给出我的解决方案,以防其他人遇到这个问题。在我的POM中,我插入了以下内容

          <dependencies>
                <dependency>
                    <groupId>ch.qos.logback</groupId>
                    <artifactId>logback-classic</artifactId>
                    <version>1.1.7</version>
                </dependency>
            </dependencies>

回写
回归经典
1.1.7
在我的Cobertura插件的定义中。
Cobertura正在使用1.1.7(在我的例子中)检查您的工件以确认,您只需在创建插件时明确告诉maven拉取该版本,否则它仍将拉取冲突版本并显示错误

我已解决此问题,包括logback依赖项中的“scope”标记

这是我的POM部分:

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>${logback-classic-version}</version>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>${logback-core-version}</version>
        <scope>runtime</scope>
    </dependency>

回写
回归经典
${logback经典版}
运行时
回写
回溯堆芯
${logback核心版本}
运行时

您所说的在生成和运行期间导致多个SLF4J绑定警告的
是什么意思。
?插件的类路径和依赖项的类路径是分开的,所以我不明白这句话?您可以显示日志输出以了解您的意思吗?
[ERROR]SLF4J:类路径包含多个SLF4J绑定。
SLF4J:在[jar:file:/Users/vokuheila/.m2/repository/ch/qos/logback/logback classic/1.0.13/logback-classic-1.0.13.jar!/org/SLF4J/impl/StaticLoggerBinder.Class]中找到绑定。
SLF4J:在中找到绑定[jar:file:/Users/vokuheila/.m2/repository/org/slf4j/slf4j-log4j12/1.7.12/slf4j-log4j12-1.7.12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
slf4j:参见http://www.slf4j.org/codes.html#multiple_bindings 解释。
SLF4J:实际绑定的类型为[ch.qos.logback.classic.util.ContextSelectorStaticBinder]