Maven 编译字符集问题

错误提示:

maven编译时控制台出现乱码,且报出Maven test错误如下:

org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: 

 

分析:

导致此错误的原因可能是Maven 编译字符集的问题,导出test时无法正确读取yml格式文件。

解决办法:

方法一、取消 maven test设置

勾上skip Tests。

方法二、IDEA中设置maven 字符集

在IDEA设置中,maven--runner的VM Options添加-Dfile.encoding=UTF-8。

方法三、在系统环境变量中设置maven字符集 

四、在Pom.xml文件中设置Maven字符集

<argLine>-Dfile.encoding=UTF-8</argLine>

 

 经多个环境测试方法一和四最为有效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提高 Maven 编译速度可以采取以下几种方法: 1. 使用并行构建:Maven 3.2.1 版本及以上支持并行构建,可以通过在命令行中添加 `-T` 参数来指定并行线程数。例如,`mvn clean install -T 4` 表示使用 4 个线程进行构建。这样可以利用多核处理器的优势加快编译速度。 2. 配置增量编译Maven 默认会对所有源代码进行重新编译,即使只有部分代码发生了变化。可以通过配置增量编译插件来只编译发生变化的代码。常用的插件有 `maven-compiler-plugin` 和 `maven-jar-plugin`。 3. 使用本地仓库:Maven 默认会从远程仓库下载依赖的 JAR 包,这会消耗一定的时间。可以将常用的依赖手动安装到本地仓库,这样在编译时就不需要从远程仓库下载了。可以使用 `mvn install:install-file` 命令将 JAR 包安装到本地仓库。 4. 配置镜像仓库:可以配置使用国内的镜像仓库,这样可以加快下载依赖的速度。可以在 Maven 的配置文件 `settings.xml` 中配置 `<mirrors>` 标签来指定镜像仓库。 5. 使用缓存:可以使用插件来缓存已编译的类文件,避免重复编译。常用的插件有 `maven-compiler-plugin` 的 `useIncrementalCompilation` 参数和 `maven-clean-plugin` 的 `excludeDefaultDirectories` 参数。 6. 调整内存设置:可以通过调整 Maven 的内存设置来提高编译速度。可以在 Maven 的配置文件 `settings.xml` 中配置 `<build>` 标签下的 `<memory>` 标签来指定内存设置。 7. 使用构建缓存工具:可以使用构建缓存工具,如 Gradle 或 Bazel,来代替 Maven。这些工具具有更高效的构建机制,可以显著提高编译速度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值