V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Suaxi
V2EX  ›  Java

Springboot 问题请教

  •  
  •   Suaxi · 2019-11-18 22:50:51 +08:00 · 3587 次点击
    这是一个创建于 1823 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目在 idea 里运行一切都正常,唯独打包之后启动 Tomcat 就会报错,比如说修改用户信息,点击修改就提示 404,页面不存在,检查之后路径都是正常的,放在服务器上也是这个问题,回头去排查发现 package 时的测试报错,改正之后问题依旧,请带哥帮我看下是不是 pom 里面的配置问题

    <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.1.RELEASE</version> <relativepath> </relativepath></parent> <groupid>com.sw</groupid> <artifactid>yundcc</artifactid> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>yundcc</name> <description>Demo project for Spring Boot</description></project>

    <properties>
        <java.version>1.8</java.version>
    </properties>
    
    <dependencies>
        <!-- 添加 servlet 依赖模块 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <scope>provided</scope>
        </dependency>
        <!-- 添加 jstl 标签库依赖模块 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
    
        <!-- 使用 jsp 引擎,springboot 内置 tomcat 没有此依赖 -->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
    
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.37</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </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>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
    15 条回复    2019-11-25 12:56:54 +08:00
    Suaxi
        1
    Suaxi  
    OP
       2019-11-18 22:56:30 +08:00
    忘了说数据库连接都没问题,唯独打包之后运行就会报 404
    CoderGeek
        2
    CoderGeek  
       2019-11-18 22:58:23 +08:00
    <scope>provided</scope>
    yejianmail
        3
    yejianmail  
       2019-11-18 23:01:58 +08:00 via Android
    你是怎么部署的,打成 jar 直接执行,还是打成 war 包,放 tomcat 里执行的,依据经验需要在 pom 里指明 jsp 路径路径打包到指定路径下,手机回复不是很方便去翻项目,见谅
    Suaxi
        4
    Suaxi  
    OP
       2019-11-18 23:09:26 +08:00
    @yejianmail war 包,好的,谢谢
    IamNotShady
        5
    IamNotShady  
       2019-11-18 23:23:24 +08:00
    springboot 集成 JSP 有坑 官方文档上写的不支持 但是也可以集成 之前搞过一次 不着急明天找下之前的项目给你看看
    IamNotShady
        6
    IamNotShady  
       2019-11-18 23:24:30 +08:00
    我记得之前集成放到 tomcat 也是有问题 最后用的是它内嵌的 tomcat
    Suaxi
        7
    Suaxi  
    OP
       2019-11-18 23:36:51 +08:00 via iPhone
    @IamNotShady 好多,谢谢哈,下午的时候去找专业课老师,给他头都搞大了也没弄好😂
    Suaxi
        8
    Suaxi  
    OP
       2019-11-18 23:40:47 +08:00 via iPhone
    @CoderGeek 加了这个还是一样的问题,下面有个老哥说是 springboot 集成 jsp 的问题,明天再看看
    zzxCNCZ
        9
    zzxCNCZ  
       2019-11-19 08:58:46 +08:00
    在 idea 里是用内置的,你直接用 jar 运行试试,看能不能运行
    Suaxi
        10
    Suaxi  
    OP
       2019-11-19 13:15:29 +08:00 via iPhone
    @zzxCNCZ jar 还没试,war 包能正常运行,但是 404 的时候 tomcat 里没有报错信息;现在找到了问题是添加的 tomcat 依赖下面的<scope>要注释掉,同时也把 model 的路径改到了 webapp/WEB-INF/jsp 下,但还是同样的问题,不知道应该怎么改了
    w292614191
        11
    w292614191  
       2019-11-19 15:59:49 +08:00
    我之前也钟情 war 包,然后 Tomcat 发布,然后各种疑难杂症,也是脑壳痛,放弃之。
    server.servlet.context-path=xxx
    这个配置有吗?
    Suaxi
        12
    Suaxi  
    OP
       2019-11-19 18:53:56 +08:00 via iPhone
    @w292614191 没加这个,用了 jsp 标签、项目全路径引用${ctx}解决了
    jack80342
        13
    jack80342  
       2019-11-23 14:14:09 +08:00
    这是我翻译的《 Spring Boot 参考指南》,你可以看看
    jack80342
        14
    jack80342  
       2019-11-23 14:14:39 +08:00   ❤️ 1
    忘记发链接了😓,这是链接:github.com/jack80342/Spring-Boot-Reference-Guide
    Suaxi
        15
    Suaxi  
    OP
       2019-11-25 12:56:54 +08:00 via iPhone
    @jack80342 感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5755 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:16 · PVG 11:16 · LAX 19:16 · JFK 22:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.