当前位置: 首页 > 知识库问答 >
问题:

带角前端的Spring引导后端

涂飞航
2023-03-14

我已经创建了一个spring boot后端和一个angular前端,现在我想使用sprint boot在8080上运行,其主页显示索引。html(来自angular)。

我已经使用ng build--prod命令在angular中创建了dist文件夹,并将其复制到(src/main/resources/static)文件夹中。在此处输入图像描述

除此之外,我读了很多关于这个的stackoverflow帖子,并试图通过添加

<packaging>war</packaging>

在波姆。xml(尽管我不知道如何创建war)实际上它在目标文件夹中创建了一个war文件(AIeDD-0.0.1-SNAPSHOT)。一些帖子说要在tomcat服务器上部署war,但我不知道怎么做。

现在我不知道现在该怎么办??

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.4.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.cdac</groupId>
    <artifactId>AIeDD</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>AIeDD</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.thymeleaf.extras</groupId>
            <artifactId>thymeleaf-extras-springsecurity5</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
        
        <dependency>
        <groupId>nz.net.ultraq.thymeleaf</groupId>
        <artifactId>thymeleaf-layout-dialect</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

共有1个答案

凤伟泽
2023-03-14

与所有Spring应用程序一样,基本上有两种选择。您可以将其打包为war(没有捆绑的应用程序服务器),然后将其部署到一个应用程序服务器上。或者,您可以将其打包为一个jar(即所谓的胖jar)并与捆绑的应用服务器一起交付。默认的是tomcat。

然后你可以继续你的构建过程:创建一个dist文件夹并将内容复制到你的resources文件夹中。然后,您拥有的控制器将文件的“路径”作为字符串返回。另一种选择是使用一个名为“buildfrontend maven plugin”的具体maven插件。有了这个,你就可以构建你的jar,maven负责angular应用的构建。

有角的Spring靴

 类似资料:
  • 我有一个单页角应用与Spring引导。它看起来如下所示: Spring Boot正确地默认为webapp文件夹,并为index.html文件服务。 我想做的是:

  • 我有一个简单的Spring Boot应用程序(在STS中创建为“starter project”)。我使用log4j2进行日志记录 无论我尝试什么,我都没有在交换中看到任何消息;我只在控制台中看到它们。 我成功地将log4j(1)与旧版本的org.springframework.amqp:spring-rabbit:1.5.6 AmqpAppender(org.springframework.am

  • 问题内容: 我首先使用body标签中的ng-app =“ myApp”初始化我的应用,这对于在首页加载时加载的所有angularized-html都适用。 稍后,我有一些代码将angularized-html加载到DOM中。 在angular 1.08中,我可以在加载后只运行angular.bootstrap($ newLoadHTML,[“ myApp”]),它将可以正常工作。$ newLoad

  • 服务响应并返回以下数组,其中包含一个元素(这是this.Items的内容): 以下是Chrome network选项卡中的标题: 但是我无法找到集合的数据来在前端显示它(变量this.items)。

  • 我正计划开发一个多租户应用程序,目前我只是在研究网络上的不同实现,以了解实现此类任务所需的需求。HibernateSpring引导是我计划使用的技术。 从我的阅读资料来看,所有不同的教程都使用相同的方法,即在配置文件中声明数据源,以便在应用程序启动时启动会话工厂,但我真的希望有一个更高级别的应用程序,在那里我可以动态添加租户并输入他们的数据源信息。这样应用程序就可以获得新租户的信息,而无需触摸配置

  • 我有一个棱角分明的前端,无法接收使用后端服务器中的spring进行身份验证的用户。我确认后端身份验证在本地工作,但在尝试调用getCurrentUser方法时,Angular出现了CORS错误(只返回当前经过身份验证的用户)。如何解决此CORS错误? 我知道我必须在spring中配置CORS,因为它充当我的后端服务器,我的角度前端需要与它对话,以从我的api方法获得结果。