2017-04-07 81 views
2

我有一個使用spring引導創建的現有戰爭項目。如何將它打包在具有EJB模塊的EAR中?在EAR項目中集成Spring Boot

有什麼辦法可以將模型和dao包移動到EJB模塊並注入WAR模塊嗎?

回答

0

你必須使用的依賴關係管理系統。

它允許您將Spring Boot WAR模塊項目的父項設置爲與spring-boot-starter-parent不同。然後就可以將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> 

...現在你可以使用所有的春季啓動啓動依賴於通常的方式:

<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項目中或在每個項目上單獨指定,具體取決於應用程序要求。

Using Spring Boot without the parent POM

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> 
相關問題