使用IDEA编译springboot+java12项目时出现的错误及解决办法总结

一般使用IDEA编译时,一般都是这样操作

先执行clean清理target文件,然后执行package或者install,二选一即可,因为效果时差不多的。

但是在模块化中还需要一些特殊的配置,以达到让maven打包不会报错

如果在pom.xml中什么都没有配置,那么打包会出现以下错误

1.Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project jdk13-demo: Fatal error compiling

该错误是没有指定java编译的版本,所以我们需要在pom.xml中加入以下配置:

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>12</source>
                    <target>12</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

经过我的测试,这样是可以成功打包的,但是打包后执行会发现,报了另外一个错误

2. .\jdk13-demo-0.0.1-SNAPSHOT.jar中没有主清单属性

只针对springboot而言,我碰到了这个错误,没有主清单属性,那么这个还需要springboot的另外一个配置:

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

那么以上两个配置都需要配置上去,最后就是这样的配置:

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>12</source>
                    <target>12</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

3.尝试打开文件.\jdk13-demo-0.0.1-SNAPSHOT.jar时出现意外错误

正常操作来说是不会出现这个错误的,这个错误是由于使用压缩软件直接修改了jar中的文件导致的不能识别,只要重新打包一下就可以了

最后我们编译出来的结构是这样的:

执行一下看看:

没有什么问题,并且页面能够正常访问。

ps:本来是想使用jdk13来做一个测试的,但是发现springboot2.1.9的版本只能支持到12,配置了jdk13后会出现错误:

ps2:使用jdk12可能还会出现一些奇奇怪怪的问题,比如

Error:java: 错误: 无效的源发行版:13

Error:java: 错误: 不支持发行版本 5-13

Error:java: 源发行版 8(9、10、11) 与 --enable-preview 一起使用时无效
  (仅发行版 12 支持预览语言功能)

以上问题都是没有正确配置jdk编译的问题,在IDEA中,需要指定三个地方:

这三个地方都一致之后,就不会出现这些问题了,磕磕碰碰了两天,将问题总结下,终于可以使用上了。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot是一个开发框架,它简化了基于Java的应用程序的开发。它提供了许多开箱即用的功能,如自动配置、快速构建、内嵌式服务器等,使得开发人员可以更快速、更高效地开发应用程序。 MySQL是一种关系型数据库管理系统,用于存储和管理数据。它是一种开源的数据库系统,被广泛应用于各种应用程序中。 Idea是一种集成开发环境(IDE),用于开发各种编程语言的应用程序。它提供了一套丰富的工具和功能,使开发人员能够更加轻松地编写、调试和管理代码。 Maven是一个项目管理工具,用于构建和管理Java项目。它通过一个称为pom.xml的配置文件来定义项目的依赖关系,以及构建和测试等各种操作。Maven还提供了许多插件,使开发人员能够更方便地管理项目。 综上所述,Spring Boot、MySQL、Idea和Maven是一些常用的Java开发工具和技术。通过使用Spring Boot、MySQL和Idea,开发人员可以更快速、高效地开发出功能强大的应用程序。Maven可以帮助我们更好地管理项目,使得开发过程更加便捷。这些工具和技术的结合,能够帮助开发人员更好地完成Java应用程序的开发工作。 ### 回答2: Spring Boot是一个用于快速开发基于Spring框架的应用程序的开源框架。它简化了Spring的配置和部署,提供了自动配置和约定大于配置的特性,使得开发人员能够更加专注于业务逻辑的实现。通过使用Spring Boot,我们可以快速搭建一个Web应用程序,并集成Maven、MySQL等常用的技术。 Maven是一个强大的项目构建工具,它能够自动化构建、管理和发布Java项目。通过使用Maven,我们可以快速创建项目的骨架,管理项目的依赖,以及进行项目编译、测试、打包、部署等各种操作。在Spring Boot项目中,我们可以使用Maven来管理项目的依赖,通过配置pom.xml文件来引入Spring Boot、MySQL等相关依赖。 MySQL是一个广泛使用的关系型数据库管理系统,它能够存储和管理大量的数据。在Spring Boot项目中,我们可以使用MySQL作为数据库来存储和管理应用程序的数据。通过使用Spring Boot的数据访问技术,我们可以快速集成MySQL,并进行数据库的增删改查等各种操作。 Idea是一款由JetBrains开发的集成开发环境(IDE),它提供了丰富的功能和工具,使得开发人员可以更加高效地开发和调试应用程序。在Spring Boot项目中,我们可以使用Idea来进行项目的开发、调试和代码的编写。Idea提供了丰富的插件和工具,可以帮助我们更好地开发Spring Boot项目,例如自动代码补全、代码重构、代码调试、自动部署等功能。 综上所述,Spring Boot、Maven、MySQL和Idea是一些常用的开发工具和技术,它们能够帮助我们快速搭建和开发基于Spring框架的Web应用程序,并进行数据库的管理和调试。它们的结合使用可以提高开发效率,减少开发工作量,使得我们能够更加专注于业务逻辑的实现。 ### 回答3: Spring Boot是一个开源的Java开发框架,它简化了基于Spring的应用程序的开发和部署过程。它通过自动配置和约定大于配置的原则,提供了一种快速搭建应用程序的方式。Spring Boot内置了一个嵌入式的Tomcat服务器,可以方便的将应用程序打包成可执行的JAR文件。 MySQL是一种开源的关系型数据库管理系统。它具有稳定可靠、功能强大和易于使用的特点,被广泛应用于各种类型的应用程序中。Spring Boot通过与MySQL的集成,可以方便的进行数据库的操作,包括数据的新增、查询、更新和删除等操作。 Idea是一种专业的Java集成开发环境(IDE),提供了强大的代码编辑、调试和测试功能。它支持多种开发框架和技术,包括Spring Boot。使用Idea可以方便的进行Spring Boot应用程序的开发和调试。 Maven是一种项目管理和构建自动化工具。它通过使用项目对象模型(POM)来描述项目的结构和依赖关系,并提供了一种简单的方式来管理项目的构建过程。使用Maven可以方便的管理项目的依赖,包括Spring Boot和MySQL等库的依赖。 综上所述,Spring Boot、MySQL、Idea和Maven是一组常用的Java开发工具和技术。它们可以协同工作,提供一种快速、简便的方式来开发和管理Java应用程序。通过使用Spring Boot搭建应用程序,使用MySQL进行数据存储,使用Idea进行开发和调试,使用Maven进行项目管理,可以大大提高开发效率和代码质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值