Springboot: создание EAR из многомодульного проекта springboot - PullRequest
1 голос
/ 06 февраля 2020

Согласно структуре моего проекта в многомодульном проекте springboot

parent <packaging> pom </packaging>

serverchild <packaging> jar </packaging>

angularchild <packaging> jar </packaging>

Я хочу создать файл EAR из этой структуры проекта, чтобы развернуть его в веб-сфере. В некоторых уроках упоминается добавление еще одного дочернего элемента, скажем,

parent_ear <packaging> ear </packaging>

и добавление зависимости serverchild и angularchild. Но тогда я не могу выполнить обновление maven.

Есть ли другой способ сделать это?

1 Ответ

0 голосов
/ 06 февраля 2020

Вы можете создать файл POM проекта родительского уровня, который включает оба ваших модуля вместе. Типичный пример структуры будет выглядеть следующим образом:

POM родительского элемента

<?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>

<groupId>com.example</groupId>
<artifactId>parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>

<name>Parent</name>
<description>Application</description>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
</properties>

<modules>
    <module>client</module>
    <module>server</module>
</modules>

</project>

* POM модуля

<?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>com.example</groupId>
<artifactId>parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>

<artifactId>example-module</artifactId>
<packaging>jar<packaging>

<name>modules</name>
<description>Application</description>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
</properties>
</project>

EAR POM с зависимыми модулями

<?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>com.example</groupId>
<artifactId>parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>

<artifactId>example-ear</artifactId>
<packaging>ear<packaging>

<dependencies>
    <dependency>
      <groupId>com.example</groupId>
      <artifactId>example-module</artifactId>
      <version>${project.version}</version>
    </dependency>
  </dependencies>

<build>
   <plugins>
     <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.10.1</version>
        <configuration>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

Дайте мне знать, если у вас есть какие-либо вопросы

...