Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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
Hibernate 如果父pom具有JavaEEBOM依赖关系,那么是否应该在子pom中明确提及所有依赖关系?_Hibernate_Maven_Jakarta Ee_Jboss_Resteasy - Fatal编程技术网

Hibernate 如果父pom具有JavaEEBOM依赖关系,那么是否应该在子pom中明确提及所有依赖关系?

Hibernate 如果父pom具有JavaEEBOM依赖关系,那么是否应该在子pom中明确提及所有依赖关系?,hibernate,maven,jakarta-ee,jboss,resteasy,Hibernate,Maven,Jakarta Ee,Jboss,Resteasy,在我们的项目中,REST层、EJB层和域(实体)层有单独的模块 以下是对REST层的依赖: <dependency> <groupId>org.jboss.resteasy</groupId> <artifactId>resteasy-jaxrs</artifactId> <dependency>

在我们的项目中,REST层、EJB层和域(实体)层有单独的模块

以下是对REST层的依赖:

            <dependency>
               <groupId>org.jboss.resteasy</groupId>
               <artifactId>resteasy-jaxrs</artifactId>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jettison-provider</artifactId>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-multipart-provider</artifactId>
            </dependency>
            <!-- Resteasy Server Cache -->
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-cache-core</artifactId>
            </dependency>
            <dependency>
                <groupId>org.jboss.resteasy</groupId>
                <artifactId>resteasy-jackson-provider</artifactId>
            </dependency>
Q2:为什么在我们的pom.xml中显式声明这些内容?hibernate上的一个依赖项不应该为其他依赖项提供默认值吗

Q3以下是一种有效的重构方法(使用Jboss bom)?在父pom.xml中有一个依赖项,每个模块只从父模块继承。通过这种方式,子pom.xml变得简单和简短。这有什么坏处?我将获得我在上面的每个REST和域层中明确提供的所有依赖项

<dependency>
        <groupId>org.jboss.bom.eap</groupId>
        <artifactId>jboss-javaee-6.0-with-resteasy</artifactId>
        <version>${jboss.bom.version}</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>

org.jboss.bom.eap
jboss-javaee-6.0-with-resteasy
${jboss.bom.version}
聚甲醛
进口

我认为这将为您提供所需的一切:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.jboss.bom</groupId>
            <artifactId>jboss-javaee-6.0-with-all</artifactId>
            <version>1.0.7.Final</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
        <dependency>
            <groupId>org.jboss.spec</groupId>
            <artifactId>jboss-javaee-all-6.0</artifactId>
            <version>3.0.3.Final</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>xalan</groupId>
            <artifactId>xalan</artifactId>
            <version>2.7.2</version>
            <scope>provided</scope>
        </dependency>
</dependencies>

org.jboss.bom
邮局

对于WildFly 8.2上的Java EE 7,请使用以下依赖项:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.wildfly.bom</groupId>
            <artifactId>jboss-javaee-7.0-with-all</artifactId>
            <version>8.2.0.Final</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.jboss.spec</groupId>
        <artifactId>jboss-javaee-all-7.0</artifactId>
        <version>1.0.2.Final</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

org.wildfly.bom
jboss-javaee-7.0-with-all
8.2.0.1最终版本
聚甲醛
进口
org.jboss.spec
jboss-javaee-all-7.0
1.0.2.1最终版本
假如
朱尼特
朱尼特
测试

为什么同时需要org.jboss.spec和org.jboss.bom?这两个都不够吗?BOM只是一份材料清单。当您添加Jboss特定的依赖项时,它非常有用。您不需要找出Jboss服务器上运行的依赖项的确切版本。版本从BOM表中填充。因此,省略版本标记。对于这个特定的例子,BOM是不需要的,但我认为无论如何添加它都是一个好的做法。仅仅BOM是不够的,你绝对需要规范。这包括RestEasy、Hibernate、RestEasy等吗?我如何知道它提供的默认值是什么。谢谢不。这包括所有。您在JSR中得到了什么,您没有得到的特定于RestEasy或Hibernate实现的内容。所以,如果你想成为平台不可知论者,这就是你应该使用的全部。JSR的其他实现(即MoXy、Eclipselink)也应该可以工作。当您使用特定于实现的功能时,需要将特定实现添加为依赖项。
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.wildfly.bom</groupId>
            <artifactId>jboss-javaee-7.0-with-all</artifactId>
            <version>8.2.0.Final</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <dependency>
        <groupId>org.jboss.spec</groupId>
        <artifactId>jboss-javaee-all-7.0</artifactId>
        <version>1.0.2.Final</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>