java - 多模块 Spring Web 项目上的 SpringBoot App 模块
问题描述
我正在开发一个旧的 Spring Web 项目。它是一个由多个模块组成的单片应用程序。其中一个允许管理服务部分,另一个允许管理视图部分。应用程序使用 Tomcat 我的任务是第一次添加一个模块,该模块将使用服务模块并以 JSON 格式返回数据。
我按照几个教程创建了一个 SpringBoot App 的开始。其中这个: https ://devstory.net/11903/deployer-le-application-spring-boot-sur-tomcat-server
我可以让 SpringBoot 在 tomcat 上工作。但我有一个问题。当我将旧项目添加为父项目时,(我放置标签)SpringBoot 不再运行。我可以在tomcat上添加项目,但是服务只显示404页面。
我的父母 pom.xml:
<?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,http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.edu.paris</groupId>
<artifactId>muses</artifactId>
<version>25.500.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Muses</name>
<description>Mutualisation du suivi des enseignants stagiaires
</description>
<modules>
<module>muses-service</module>
<module>muses-client</module>
<module>muses-projection</module>
</modules>
<scm>
<connection>scm:git:git@gitlabssh.forge.education.gouv.fr:compas/muses.git</connection>
<developerConnection>scm:git:git@gitlabssh.forge.education.gouv.fr:compas/muses.git</developerConnection>
<url>scm:git:https://gitlab.forge.education.gouv.fr/compas/muses.git</url>
<tag>HEAD</tag>
</scm>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>5.0.0.RELEASE</spring.version>
<junit.version>4.7</junit.version>
<log4j.version>2.10.0</log4j.version>
<joda-time.version>2.5</joda-time.version>
<itext.version>2.1.7</itext.version>
<poi.version>3.6</poi.version>
<pdfediteur.version>2.0.14</pdfediteur.version>
<junit.version>4.12</junit.version>
<test.version>5.0.7.RELEASE</test.version>
<slf4jLog4j12.version>1.5.6</slf4jLog4j12.version>
<apache.commons>3.7</apache.commons>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4jLog4j12.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4jLog4j12.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${apache.commons}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>fr.edu.paris</groupId>
<artifactId>pdfediteur</artifactId>
<version>${pdfediteur.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${test.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${joda-time.version}</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>${itext.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>fr.edu.paris</groupId>
<artifactId>pdfediteur</artifactId>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-base</artifactId>
<version>2.9.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.9.7</version>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<uniqueVersion>false</uniqueVersion>
<id>internal-releases</id>
<name>Internal releases repository</name>
<url>https://repository-maven.forge.education.gouv.fr/releases/</url>
</repository>
<snapshotRepository>
<uniqueVersion>false</uniqueVersion>
<id>internal-snapshots</id>
<name>Internal snapshots repository</name>
<url>https://repository-maven.forge.education.gouv.fr/snapshots/</url>
</snapshotRepository>
</distributionManagement>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.4</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
<failOnError>false</failOnError>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.2</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.9.4</version>
</dependency>
</dependencies>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
我的 SpringBoot pom.xml:
<?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>fr.edu.paris</groupId>
<artifactId>muses</artifactId>
<version>25.500.0.0-SNAPSHOT</version>
</parent>
<groupId>muses-projection</groupId>
<artifactId>muses-projection</artifactId>
<packaging>war</packaging>
<name>muses-projection</name>
<url>http://www.example.com</url>
<properties>
<fr.edu.paris.muses-service>${project.version}</fr.edu.paris.muses-service>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.6</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
解决方案
推荐阅读
- c# - 从 C# 中的字符串中检索所需的 SQL 参数
- python - GitHub Actions 无法设置 Python 虚拟环境
- scala - IntelliJ CE 红色标记
- json - Delphi用抽象类反序列化JSON
- python - 如何将“360”添加到二维列表中的所有负数?
- java - 无法在 apache jena 上添加新的 owl 文件
- java - 使用 SWIG 包装具有两个双向参数的函数以在 java [foo(char ** strs, unsigned int& size)] 中使用
- excel - 在复制和粘贴值之前从另一个工作簿中的列表中读取大写值
- python - Python多处理队列酸洗错误
- javascript - 为什么我的 div 容器中的元素会消失?