Я пытаюсь собрать приложение React и включить его в свою весеннюю загрузку в качестве ресурса c.
Я скопировал папку реагирующей сборки в target/classes/public
моего проекта весенней загрузки, используя maven-antrun-plugin
.
Я попробовал оба имени, target/classes/public
и target/classes/static
.
Это моя структура pj / target / classes после выполнения $mvn package
C:\Users\tlatl\Desktop\pj1\target\classes>tree /F
OS 볼륨에 대한 폴더 경로의 목록입니다.
볼륨 일련 번호는 722D-1A0E입니다.
C:.
│ application.properties
│
├─com
│ └─example
│ └─demo
│ │ DemoApplication.class
│ │
│ ├─controller
│ │ Controller.class
│ │ UrlRestController.class
│ │
│ ├─domain
│ │ Url.class
│ │
│ ├─repository
│ │ UrlRepository.class
│ │
│ └─service
│ UrlService.class
│
└─public
│ asset-manifest.json
│ favicon.ico
│ index.html
│ logo192.png
│ logo512.png
│ manifest.json
│ precache-manifest.5260fb84a466ee86d0bc9ba13f9afc09.js
│ robots.txt
│ service-worker.js
│
└─static
├─css
│ main.500ce7b4.chunk.css
│ main.500ce7b4.chunk.css.map
│
└─js
2.c878f2b2.chunk.js
2.c878f2b2.chunk.js.LICENSE
2.c878f2b2.chunk.js.map
main.1b913fda.chunk.js
main.1b913fda.chunk.js.map
runtime-main.e1737718.js
runtime-main.e1737718.js.map
Но после того, как я выполню полученный файл jar, localhost: 8080 просто показывает пустую страницу.
В блоге, на который я ссылался, https://blogg.kantega.no/webapp-with-create-react-app-and-spring-boot/, автор сказал:
Приложения Spring Boot могут обслуживать содержимое c, если вы поместите его в каталог classes / publi c файла jar приложения.
Все, что находится в каталоге publi c на пути к классам, используется сервлетом по умолчанию c сервлетом по умолчанию, поэтому для этого не нужно создавать контроллер MVC.
Так что я не установил ни одного контроллера с путем "/". Другие остальные API, которые я установил, хорошо работают через URL.
Почему моя весенняя загрузка не показывает пакет stati c в папке target/classes/public
?
Ниже мой 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 https://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>2.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<node.version>v12.3.1</node.version>
<yarn.version>v1.16.0</yarn.version>
</properties>
<dependencies>
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>1.6</version>
<configuration>
<workingDirectory>src/main/frontend</workingDirectory>
<installDirectory>target</installDirectory>
</configuration>
<executions>
<execution>
<id>install node and npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<configuration>
<nodeVersion>v8.9.4</nodeVersion>
<npmVersion>5.6.0</npmVersion>
</configuration>
</execution>
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>install</arguments>
</configuration>
</execution>
<execution>
<id>npm run build</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>run build</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-resources</phase>
<configuration>
<target>
<copy todir="${project.build.directory}/classes/public">
<fileset dir="${project.basedir}/src/main/frontend/build"/>
</copy>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>