복붙노트

[SPRING] Spring 부트를 EAR 프로젝트에 통합

SPRING

Spring 부트를 EAR 프로젝트에 통합

스프링 부트를 사용하여 만든 기존의 전쟁 프로젝트가 있습니다. EJB 모듈을 가진 EAR 안에 패키지하는 법?

모델 및 DAO 패키지를 EJB 모듈로 이동하고 WAR 모듈을 주입 할 수있는 방법이 있습니까?

해결법

  1. ==============================

    1.종속성 관리 시스템을 사용해야합니다.

    종속성 관리 시스템을 사용해야합니다.

    Spring-boot-starter-parent와 다른 Spring Boot WAR 모듈 프로젝트의 부모를 설정할 수 있습니다. 그런 다음 WAR 프로젝트를 다른 것과 마찬가지로 EAR 프로젝트에 포함시킬 수 있습니다.

    <dependencyManagement>
         <dependencies>
            <dependency>
                <!-- Import dependency management from Spring Boot -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>1.5.2.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    

    ... 이제 모든 일반적인 Spring 부트 스타터 종속성을 사용할 수 있습니다.

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
    </dependencies>
    

    모듈 프로젝트 레벨에서 지정해야하는 스타터 종속성과 종속성 관리 구성을 모두 EAR 프로젝트 전체 또는 개별 요구 사항에 따라 개별적으로 지정할 수 있습니다.

    부모 POM없이 스프링 부트 사용하기

  2. ==============================

    2.스프링 프로젝트가 될 전쟁 프로젝트와 귀를 만들기위한 귀 프로젝트가 포함 된 상위 프로젝트가 필요합니다.

    스프링 프로젝트가 될 전쟁 프로젝트와 귀를 만들기위한 귀 프로젝트가 포함 된 상위 프로젝트가 필요합니다.

    부모는 봄 부팅을 부모로해야합니다.

    <?xml version="1.0" encoding="UTF-8"?>
    <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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
     <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.3.RELEASE</version>
      </parent>
    
      <groupId>com.greg</groupId>
      <artifactId>ear-example</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>pom</packaging>
    
      <properties>
            <myproject.version>1.0-SNAPSHOT</myproject.version>
      </properties>
    
      <name>ear-example</name>
      <modules>
        <module>example-ear</module>
        <module>example-war</module>
      </modules>
    
    </project>
    

    귀 프로젝트는 다음과 같습니다.

    <?xml version="1.0"?>
    <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <modelVersion>4.0.0</modelVersion>
    
      <parent>
        <groupId>com.greg</groupId>
        <artifactId>ear-example</artifactId>
        <version>1.0-SNAPSHOT</version>
      </parent>
    
      <artifactId>example-ear</artifactId>
      <packaging>ear</packaging>
    
      <dependencies>
        <dependency>
          <groupId>com.greg</groupId>
          <artifactId>example-war</artifactId>
          <version>${project.version}</version>
          <type>war</type>
        </dependency>
      </dependencies>
    
      <build>
       <plugins>
         <plugin>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.10.1</version>
            <configuration>
                    <modules>
                            <webModule>
                                    <groupId>com.greg</groupId>
                                    <artifactId>example-war</artifactId>
                                    <contextRoot>/appname</contextRoot>
                            </webModule>
                    </modules>
            </configuration>
          </plugin>
        </plugins>
      </build>
    
    </project>
    
  3. from https://stackoverflow.com/questions/43276973/integrate-spring-boot-in-an-ear-project by cc-by-sa and MIT license