Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/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
Spring boot 使用SpringBoot模块创建EAR项目_Spring Boot_Maven_Ear - Fatal编程技术网

Spring boot 使用SpringBoot模块创建EAR项目

Spring boot 使用SpringBoot模块创建EAR项目,spring-boot,maven,ear,Spring Boot,Maven,Ear,我需要创建一个EAR文件以部署到JBoss EAP 7上。我考虑建立如下项目结构: - rootproject -- ear (ear) -- web (war) 因此,对于rootproject,我创建了一个新的简单Maven项目(使用Eclipse06/2020),使用以下.pom.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.or

我需要创建一个
EAR
文件以部署到
JBoss EAP 7
上。我考虑建立如下项目结构:

- rootproject
  -- ear (ear)
  -- web (war)
因此,对于
rootproject
,我创建了一个新的简单Maven项目(使用Eclipse06/2020),使用以下
.pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>jboss_test</groupId>
 <artifactId>jboss_test</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <packaging>pom</packaging>
 <name>jboss_ear_test</name>

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.11.RELEASE</version>
 </parent>

 <profiles>
  <profile>
    <id>default</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <modules>
        <module>ear</module>
        <module>web</module>
    </modules>
  </profile>
 </profiles>

</project>
....
....
<parent>
    <artifactId>jboss_test</artifactId>
    <groupId>jboss_test</groupId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

<artifactId>web</artifactId>
<packaging>war</packaging>
<name>web-test</name>
<description>Spring Boot JBOSS</description>

.... // some dependencies
....
....
<parent>
    <artifactId>jboss_test</artifactId>
    <groupId>jboss_test</groupId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

<artifactId>ear</artifactId>
<packaging>ear</packaging>
<name>ear-test</name>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <finalName>JBOSS-TEST_EAR</finalName>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <webModule>
                        <groupId>jboss_test</groupId>
                        <artifactId>web</artifactId>
                        <bundleFileName>JBOSS-TEST.war</bundleFileName>
                        <contextRoot>/TEST</contextRoot>
                    </webModule>
                </modules>
           </configuration>
      </plugin>
   </plugins>
</build>
<groupId>it.coding.jboss.deployment</groupId>
<artifactId>jbdeployment</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.2.11.RELEASE</version>
  <relativePath/> <!-- lookup parent from repository -->
</parent>

<modules>
 <module>ear-test</module>
 <module>web-test</module>
</modules>
<parent>
  <groupId>it.coding.jboss.deployment</groupId>
  <artifactId>jbdeployment</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</parent>

<artifactId>ear-test</artifactId>
<packaging>ear</packaging>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <finalName>TEST-EAR</finalName>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <webModule>
                        <groupId>it.coding.jboss.deployment</groupId>
                        <artifactId>web-test</artifactId>
                        <bundleFileName>WEB-TEST.war</bundleFileName>
                        <contextRoot>/WEB-TEST</contextRoot>
                    </webModule>
                </modules>
                <archive>
                    <addMavenDescriptor>false</addMavenDescriptor>
                    <manifestEntries>
                         <Implementation-Title>JBOSS-TEST</Implementation-Title>
                         <Implementation-Version>1.0</Implementation-Version>
                         <Implementation-Vendor>CODING</Implementation-Vendor>
                         <Built-By></Built-By>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>it.coding.jboss.deployment</groupId>
        <artifactId>web-test</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>war</type>
    </dependency>
</dependencies>
<modelVersion>4.0.0</modelVersion>
  <parent>
     <groupId>it.coding.jboss.deployment</groupId>
     <artifactId>jbdeployment</artifactId>
     <version>0.0.1-SNAPSHOT</version>
  </parent>

  <artifactId>web-test</artifactId>
  <packaging>war</packaging>
  <name>web-test</name>
  <description>Spring Boot JBOSS</description>

  <properties>
    <java.version>1.8</java.version>
  </properties>

  <dependencies>
     // dependencies
  </dependencies>
  ...
  ...
</project>
Maven模块将ear与以下
.pom.xml
一起使用:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>jboss_test</groupId>
 <artifactId>jboss_test</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <packaging>pom</packaging>
 <name>jboss_ear_test</name>

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.11.RELEASE</version>
 </parent>

 <profiles>
  <profile>
    <id>default</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <modules>
        <module>ear</module>
        <module>web</module>
    </modules>
  </profile>
 </profiles>

</project>
....
....
<parent>
    <artifactId>jboss_test</artifactId>
    <groupId>jboss_test</groupId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

<artifactId>web</artifactId>
<packaging>war</packaging>
<name>web-test</name>
<description>Spring Boot JBOSS</description>

.... // some dependencies
....
....
<parent>
    <artifactId>jboss_test</artifactId>
    <groupId>jboss_test</groupId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

<artifactId>ear</artifactId>
<packaging>ear</packaging>
<name>ear-test</name>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <finalName>JBOSS-TEST_EAR</finalName>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <webModule>
                        <groupId>jboss_test</groupId>
                        <artifactId>web</artifactId>
                        <bundleFileName>JBOSS-TEST.war</bundleFileName>
                        <contextRoot>/TEST</contextRoot>
                    </webModule>
                </modules>
           </configuration>
      </plugin>
   </plugins>
</build>
<groupId>it.coding.jboss.deployment</groupId>
<artifactId>jbdeployment</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.2.11.RELEASE</version>
  <relativePath/> <!-- lookup parent from repository -->
</parent>

<modules>
 <module>ear-test</module>
 <module>web-test</module>
</modules>
<parent>
  <groupId>it.coding.jboss.deployment</groupId>
  <artifactId>jbdeployment</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</parent>

<artifactId>ear-test</artifactId>
<packaging>ear</packaging>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <finalName>TEST-EAR</finalName>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <webModule>
                        <groupId>it.coding.jboss.deployment</groupId>
                        <artifactId>web-test</artifactId>
                        <bundleFileName>WEB-TEST.war</bundleFileName>
                        <contextRoot>/WEB-TEST</contextRoot>
                    </webModule>
                </modules>
                <archive>
                    <addMavenDescriptor>false</addMavenDescriptor>
                    <manifestEntries>
                         <Implementation-Title>JBOSS-TEST</Implementation-Title>
                         <Implementation-Version>1.0</Implementation-Version>
                         <Implementation-Vendor>CODING</Implementation-Vendor>
                         <Built-By></Built-By>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>it.coding.jboss.deployment</groupId>
        <artifactId>web-test</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>war</type>
    </dependency>
</dependencies>
<modelVersion>4.0.0</modelVersion>
  <parent>
     <groupId>it.coding.jboss.deployment</groupId>
     <artifactId>jbdeployment</artifactId>
     <version>0.0.1-SNAPSHOT</version>
  </parent>

  <artifactId>web-test</artifactId>
  <packaging>war</packaging>
  <name>web-test</name>
  <description>Spring Boot JBOSS</description>

  <properties>
    <java.version>1.8</java.version>
  </properties>

  <dependencies>
     // dependencies
  </dependencies>
  ...
  ...
</project>
你能帮我找出毛病吗


谢谢

非常感谢@khmarbaise的回复,我解决了以下问题:

rootproject
创建为简单的Maven项目,
.pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>jboss_test</groupId>
 <artifactId>jboss_test</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <packaging>pom</packaging>
 <name>jboss_ear_test</name>

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.11.RELEASE</version>
 </parent>

 <profiles>
  <profile>
    <id>default</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <modules>
        <module>ear</module>
        <module>web</module>
    </modules>
  </profile>
 </profiles>

</project>
....
....
<parent>
    <artifactId>jboss_test</artifactId>
    <groupId>jboss_test</groupId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

<artifactId>web</artifactId>
<packaging>war</packaging>
<name>web-test</name>
<description>Spring Boot JBOSS</description>

.... // some dependencies
....
....
<parent>
    <artifactId>jboss_test</artifactId>
    <groupId>jboss_test</groupId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

<artifactId>ear</artifactId>
<packaging>ear</packaging>
<name>ear-test</name>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <finalName>JBOSS-TEST_EAR</finalName>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <webModule>
                        <groupId>jboss_test</groupId>
                        <artifactId>web</artifactId>
                        <bundleFileName>JBOSS-TEST.war</bundleFileName>
                        <contextRoot>/TEST</contextRoot>
                    </webModule>
                </modules>
           </configuration>
      </plugin>
   </plugins>
</build>
<groupId>it.coding.jboss.deployment</groupId>
<artifactId>jbdeployment</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.2.11.RELEASE</version>
  <relativePath/> <!-- lookup parent from repository -->
</parent>

<modules>
 <module>ear-test</module>
 <module>web-test</module>
</modules>
<parent>
  <groupId>it.coding.jboss.deployment</groupId>
  <artifactId>jbdeployment</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</parent>

<artifactId>ear-test</artifactId>
<packaging>ear</packaging>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <finalName>TEST-EAR</finalName>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <webModule>
                        <groupId>it.coding.jboss.deployment</groupId>
                        <artifactId>web-test</artifactId>
                        <bundleFileName>WEB-TEST.war</bundleFileName>
                        <contextRoot>/WEB-TEST</contextRoot>
                    </webModule>
                </modules>
                <archive>
                    <addMavenDescriptor>false</addMavenDescriptor>
                    <manifestEntries>
                         <Implementation-Title>JBOSS-TEST</Implementation-Title>
                         <Implementation-Version>1.0</Implementation-Version>
                         <Implementation-Vendor>CODING</Implementation-Vendor>
                         <Built-By></Built-By>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>it.coding.jboss.deployment</groupId>
        <artifactId>web-test</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>war</type>
    </dependency>
</dependencies>
<modelVersion>4.0.0</modelVersion>
  <parent>
     <groupId>it.coding.jboss.deployment</groupId>
     <artifactId>jbdeployment</artifactId>
     <version>0.0.1-SNAPSHOT</version>
  </parent>

  <artifactId>web-test</artifactId>
  <packaging>war</packaging>
  <name>web-test</name>
  <description>Spring Boot JBOSS</description>

  <properties>
    <java.version>1.8</java.version>
  </properties>

  <dependencies>
     // dependencies
  </dependencies>
  ...
  ...
</project>
创建
webtest
作为
springboot2.2.11
项目,
.pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>jboss_test</groupId>
 <artifactId>jboss_test</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <packaging>pom</packaging>
 <name>jboss_ear_test</name>

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.11.RELEASE</version>
 </parent>

 <profiles>
  <profile>
    <id>default</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <modules>
        <module>ear</module>
        <module>web</module>
    </modules>
  </profile>
 </profiles>

</project>
....
....
<parent>
    <artifactId>jboss_test</artifactId>
    <groupId>jboss_test</groupId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

<artifactId>web</artifactId>
<packaging>war</packaging>
<name>web-test</name>
<description>Spring Boot JBOSS</description>

.... // some dependencies
....
....
<parent>
    <artifactId>jboss_test</artifactId>
    <groupId>jboss_test</groupId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

<artifactId>ear</artifactId>
<packaging>ear</packaging>
<name>ear-test</name>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <finalName>JBOSS-TEST_EAR</finalName>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <webModule>
                        <groupId>jboss_test</groupId>
                        <artifactId>web</artifactId>
                        <bundleFileName>JBOSS-TEST.war</bundleFileName>
                        <contextRoot>/TEST</contextRoot>
                    </webModule>
                </modules>
           </configuration>
      </plugin>
   </plugins>
</build>
<groupId>it.coding.jboss.deployment</groupId>
<artifactId>jbdeployment</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.2.11.RELEASE</version>
  <relativePath/> <!-- lookup parent from repository -->
</parent>

<modules>
 <module>ear-test</module>
 <module>web-test</module>
</modules>
<parent>
  <groupId>it.coding.jboss.deployment</groupId>
  <artifactId>jbdeployment</artifactId>
  <version>0.0.1-SNAPSHOT</version>
</parent>

<artifactId>ear-test</artifactId>
<packaging>ear</packaging>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <finalName>TEST-EAR</finalName>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <modules>
                    <webModule>
                        <groupId>it.coding.jboss.deployment</groupId>
                        <artifactId>web-test</artifactId>
                        <bundleFileName>WEB-TEST.war</bundleFileName>
                        <contextRoot>/WEB-TEST</contextRoot>
                    </webModule>
                </modules>
                <archive>
                    <addMavenDescriptor>false</addMavenDescriptor>
                    <manifestEntries>
                         <Implementation-Title>JBOSS-TEST</Implementation-Title>
                         <Implementation-Version>1.0</Implementation-Version>
                         <Implementation-Vendor>CODING</Implementation-Vendor>
                         <Built-By></Built-By>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>it.coding.jboss.deployment</groupId>
        <artifactId>web-test</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <type>war</type>
    </dependency>
</dependencies>
<modelVersion>4.0.0</modelVersion>
  <parent>
     <groupId>it.coding.jboss.deployment</groupId>
     <artifactId>jbdeployment</artifactId>
     <version>0.0.1-SNAPSHOT</version>
  </parent>

  <artifactId>web-test</artifactId>
  <packaging>war</packaging>
  <name>web-test</name>
  <description>Spring Boot JBOSS</description>

  <properties>
    <java.version>1.8</java.version>
  </properties>

  <dependencies>
     // dependencies
  </dependencies>
  ...
  ...
</project>
4.0.0
it.coding.jboss.deployment
jb部署
0.0.1-快照
网络测试
战争
网络测试
弹簧靴JBOSS
1.8
//依赖关系
...
...
Maven build运行良好,EAR已创建。。然后我想再问一件事:你认为我必须定义我的
ear test
pom中的所有依赖项吗??还有那些与
Spring
Hibernate
等相关的
web测试项目


非常感谢

因为邮件告诉您这个问题。您尚未将web部件定义为ear项目的依赖项。。。除此之外,我强烈建议从pom和模块中删除配置文件,这没有任何意义,也没有与模块/配置文件相关的有用内容…我如何实现这一点?将依赖项添加到web模块的pom中…我尝试过,但我得到了更多错误,你能写两行代码吗??我想创建一个包含我的web.war包的EAR。。。为什么我必须在pom of war项目中声明ear?在您的
ear
模块中定义不在war中的依赖项。。无论是战争计划中的内耳还是内耳。。