Вдохновленный:
https://github.com/jonashackt/spring-boot-vuejs
Я создаю vue. js внешний интерфейс и подпружиненный бэкэнд с использованием frontend-maven-plugin . Мой проект имеет следующую структуру:
webapp
-> webapp-backend
-> webapp-frontend
Во время разработки npm run serve
работает нормально, и я могу получить доступ к своему веб-интерфейсу по адресу:
![enter image description here](https://i.stack.imgur.com/sHDMC.png)
Но когда я собираю приложение (используя плагин frontend-maven) и запускаю его с:
mvn clean install
java -jar webapp-backend/target/webapp-backend-1.0.0-SNAPSHOT.jar
, я просто получаю пустую страницу:
![enter image description here](https://i.stack.imgur.com/T8UCQ.png)
Даже при отсутствии ошибок из журналов java.
Есть ли какая-то дополнительная конфигурация, которую я должен применить, например, к бэкенду с пружинной загрузкой, чтобы он правильно перенаправлялся на мой интерфейс во время производственной сборки?
Ниже приведены некоторые дополнительные сведения:
webapp / webapp-backend / src / main / java / hello / GreetingController. java
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api")
public class GreetingController {
@RequestMapping(value = "/**/{[path:[^\\.]*}")
public String redirect() {
// Forward to home page so that route is preserved.
return "forward:/";
}
}
webapp-backend / pom. xml
<build>
<plugins>
...
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>Copy Vue.js frontend assets</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>src/main/resources/public</outputDirectory>
<overwrite>true</overwrite>
<resources>
<resource>
<directory>${project.parent.basedir}/webapp-frontend/dist</directory>
<includes>
<include>static/</include>
<include>index.html</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
webapp-backend / src / main / resources / public / index. html (непустой индекс. html файл)
webapp / webapp-frontend / pom. xml
...
<build>
<plugins>
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>${frontend-maven-plugin.version}</version>
<executions>
<execution>
<id>install node and npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<configuration>
<nodeVersion>v10.0.0</nodeVersion>
</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>
</plugins>
</build>
...