跳至主要內容

其他

chanchaw大约 1 分钟languagejava

maven编译报错:RepackageMojo has been compiled by a more recent version

这个错误表明 RepackageMojo 类是使用更高版本的 Java 编译的(class file version 61.0 对应 Java 17),而当前运行 Maven 的 Java 环境版本较低(class file version 52.0 对应 Java 8)。换句话说,您当前使用的 Java 运行时不支持 RepackageMojo 类所需的 Java 版本。最简单的方法是升级开发用 java 版本到17,不要升级的话要修改 pom.xml 中各个插件的版本号来适应 java1.8,2024年9月21日 08:35:56 解决该问题调整的插件如下:

# visitor 项目使用的 springboot 版本号是2.6.13
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <version>2.6.13</version>
    ...
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    ...
</plugin>

完整的 pom.xmlvisitor仓库open in new window 的 commit : 8941a04f036d7b2fd9fc5ddb8fa02ceb90efc20d

java.nio.charset.MalformedInputException: Input length = 1

配置文件中对中文的编码有问题,使用双引号包裹中文字符。同时在 pom.xml 的 properties 中设置编译时的字符集,看下面代码行号4

    <properties>
        <java.version>1.8</java.version>
        <swagger2.version>2.9.2</swagger2.version>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <skipTests>true</skipTests>
    </properties>

使用 debug 模式无法启动项目

检查是否有 mapper 类中有断点
检查mapper是否有断点