• 【教程】IDEA创建Maven项目并整合Tomcat发布,问题解决大全


    一篇入门教程



    一、创建项目并运行

    参考这个视频,能顺利运行 helloworld ,本人用的 IDEA2020.2.3 、jdk11 、Tomcat9 、Maven3.6

    bilibili-IDEA(开发工具篇)-创建Maven项目并整合Tomcat发布Maven项目

    观看之前可以先去官网下载好 Tomcat 、Maven



    1.1 注意事项:

    Maven项目模板选下面这个,而不是上面这个

    两个都是webapp,但是如果选错的话,按视频步骤来会少一个 index.jsp

    而且运行时会报错

    :war exploded: Error during artifact deployment

    一个或多个listeners启动失败;



    1.2 Maven配置:

    视频中只需配置镜像即可,因为创建好项目后需要下载很多文件,如果使用海外镜像的话下载比较慢

        <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>*</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>    
        <mirror>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
    

    此外什么环境变量、jdk都没配,不过用IDEA的话目前似乎也不需要通过settings.xml配置

    第50行的 localRepository 最好设置一下,和IDEA的Maven设置一致



    二、Tomcat配置

    2.1 控制台输出乱码问题

    乱码的原因是 Tomcat 日志默认编码是 utf-8 ,但 Windows国内版和 IDEA 却是 GBK

    解决办法:

    不推荐修改 IDEA 控制台为 utf-8 ,虽然我们都爱 utf-8 ,但是以后跑其它项目可能会出问题

    可以修改 Tomcat 的日志输出为 GBK 编码

    在 tomcat / conf 目录下,设置 logging.properties ,增加参数 java.util.logging.ConsoleHandler.encoding = GBK,重新运行项目

    参考:https://www.cnblogs.com/shej123/p/10312806.html



    2.2 运行日志位置

    有时候出bug总会说详情见日志,但是日志在哪呢?

    网上说的固定位置很不可靠,因为实际情况因人而异,我推荐大家一款著名的文件搜索软件 Everything ,比Windows文件资源管理器自带的搜索强很多倍,全局搜索速度很快

    搜索tomcat ,注意是区分大小写的

    我的路径是:C:UsersyunmuqAppDataLocalJetBrainsIntelliJIdea2020.2 omcat



    三、IDEA内的Maven配置

    3.1 Maven导入依赖失败显示红色

    以下设置可以解决

    其中设置JDK似乎不是必须的

    不生效的话重启IDEA,或者 File-Invalidae Cache 清除缓存(会需要一点点时间加载配置)



    3.2 jsp文件内报错找不到类

    如果你要编写jsp文件,会发现其中的 Java代码报错飘红,找不到此类,但是如果你愤怒地点击运行的话,结果可能会让你吃惊,它能运行...

    强迫症当然受不了,解决办法是在项目的pom.xml中导入依赖:

        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>javax.servlet-api</artifactId>
          <version>4.0.1</version>
        </dependency>
    
        <dependency>
          <groupId>javax.servlet.jsp</groupId>
          <artifactId>jsp-api</artifactId>
          <version>2.2</version>
          <scope>provided</scope>
        </dependency>
    

    其中的依赖版本可以通过官网:http://mvnrepository.com/ 或者:https://search.maven.org/ 查询

    这个飘红问题我也参考过这篇文章,不过没用

    在IDEA中使用JSP中的out内置对象,out.println()——println红色解决方法



    end...ヾ(≧▽≦*)o
    往期精彩文章推荐:

    《NameSilo的DDNS动态域名解析脚本》

    《安装nginx并安全地配置和启动》



  • 相关阅读:
    docker基础命令
    Dubbo添加Filter过滤器
    Jvm FullGC 如何排查?
    ElastaticSearch----es聚合,并获取query的排序结果
    java8 StringJoiner拼接字符串
    ElastaticSearch--- es多字段聚合
    java使用Mysql批量更新(先查询,再插入或更新)
    Mybatis批量插入,批量更新
    谷粒商城学习——P51商品服务-API-三级分类-删除-删除效果细化
    谷粒商城学习——P50商品服务-API-三级分类-删除-逻辑删除
  • 原文地址:https://www.cnblogs.com/yunmuq/p/14143460.html
Copyright © 2020-2023  润新知