Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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 WildFly中的依赖项问题-在pom.xml中定义的版本不是运行时使用的版本_Java_Maven_Wildfly_Pom.xml - Fatal编程技术网

Java WildFly中的依赖项问题-在pom.xml中定义的版本不是运行时使用的版本

Java WildFly中的依赖项问题-在pom.xml中定义的版本不是运行时使用的版本,java,maven,wildfly,pom.xml,Java,Maven,Wildfly,Pom.xml,我在WildFly上运行的项目中存在依赖项问题。 在pom.xml中,我对Jackson库依赖项有以下定义: <dependencyManagement> // .... <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId

我在WildFly上运行的项目中存在依赖项问题。 在pom.xml中,我对Jackson库依赖项有以下定义:

<dependencyManagement>
// ....
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.10.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-jsr310</artifactId>
            <version>2.10.2</version>
        </dependency>
// ...
</dependencyManagement>

我找到了解决办法。在WildFly 18.0.1上,一切正常,因为它包含Jackson library的2.9.10.1版。问题出在WildFly 8.2.1上,因为它包含版本2.1.4。运行时使用的Jackson库版本是WildFly提供的版本

关于这个问题: 我在META-INF目录中添加了文件jboss-deployment-structure.xml,其中包含以下内容:

    <jboss-deployment-structure>
        <deployment>
            <exclusions>
                <module name="com.fasterxml.jackson.core.jackson-core" />
                <module name="com.fasterxml.jackson.core.jackson-databind" />
                <module name="com.fasterxml.jackson.core.jackson-annotations" />
                <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
                <module name="org.jboss.resteasy.resteasy-jackson2-provider" />
            </exclusions>
        </deployment>
    </jboss-deployment-structure>


不幸的是,它只在WildFly 18.0.1上工作,WildFly 8.2.1因为其他依赖性问题而无法启动,因此,在这种情况下,最合理的解决方案是升级WildFly或从pom.xml中删除jackson-datatype-jsr310。您是否可以添加
mvn dependency:tree
的相关部分?@JFMeier我添加了。奇怪的是,
jackson-dattype-jsr310
具有作用域
import
,这不应该是jar的作用域。你能分析一下POM的来源吗?
    <jboss-deployment-structure>
        <deployment>
            <exclusions>
                <module name="com.fasterxml.jackson.core.jackson-core" />
                <module name="com.fasterxml.jackson.core.jackson-databind" />
                <module name="com.fasterxml.jackson.core.jackson-annotations" />
                <module name="com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider" />
                <module name="org.jboss.resteasy.resteasy-jackson2-provider" />
            </exclusions>
        </deployment>
    </jboss-deployment-structure>