maven一波流(6)——解决烦人的maven工程编码和jdk版本自动切换问题

简介: 背景有时候拿过别人的工程使用,update project之后发现编码不对,中文全部乱码,然后jdk也自动变成了1.5版本,项目报了一大堆错误。这时候老手心里还是很淡定,右击项目,在属性里修改下编码,然后在build path里面改下jdk版本,搞定。后来再update project编码和jdk又自动变回去了,于是乎大怒,无奈又重新操作一遍。

问题分析

肯定是maven引起的,因为用maven update的时候才出现这问题。


怎么修改,肯定一个是修改maven整个的配置文件,也就是maven安装目录下的conf目录下的settings.xml,然后修改了之后eclipse也得知道这个修改,得从eclipse的首选项preferences里面更新下配置,最后改下项目的pom.xml配置文件。


这样从maven到eclipse到工程全部统一了,应该OK。


具体实施

首先改下settings.xml

打开我计算机目录D:\Tool\\apache-maven-3.5.3\\conf


在<profiles>和</profiles>中间添加如下代码,就是指定JDK为1.8版本。


<profile>    

 <id>jdk-1.8</id>    

  <activation>    

    <activeByDefault>true</activeByDefault>    

    <jdk>1.8</jdk>    

   </activation>    

<properties>    

<maven.compiler.source>1.8</maven.compiler.source>    

<maven.compiler.target>1.8</maven.compiler.target>    

<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>    

</properties>    

</profile>


然后改下eclipse的首选项

点击eclipse菜单Window-Preferences-Maven-User Settings,将Global和User的Settings都设置为刚刚修改过的配置文件,并且点击Update Settings后Apply。

image.png

修改项目maven配置文件pom.xml

打开项目pom.xml文件,在 <plugins>和</plugins>之间添加两个插件,用于指定资源文件编码,指定编译的jdk版本并制定编译字符集编码。


<!-- 本插件解决资源文件编码问题 -->

  <plugin>

   <groupId>org.apache.maven.plugins</groupId>

   <artifactId>maven-resources-plugin</artifactId>

   <version>2.5</version>

   <configuration>

    <encoding>UTF-8</encoding>

   </configuration>

  </plugin>

  <plugin>

   <!-- 本插件用于指定maven编译的jdk版本。maven3默认用jdk1.5,maven2默认用jdk1.3。 -->      

   <groupId>org.apache.maven.plugins</groupId>

   <artifactId>maven-compiler-plugin</artifactId>

   <version>2.3.2</version>

   <configuration>

    <!-- 源代码使用的JDK版本 -->

    <source>1.8</source>

    <!-- 生成的目标版本 -->

    <target>1.8</target>

    <!-- 字符集编码 -->

    <encoding>UTF-8</encoding>

   </configuration>

  </plugin>


总结

多看文档多总结,多多益善。

相关文章
|
22天前
|
Java
IDEA修改JDK版本
在IDEA中修改项目JDK版本的方法如下:1. 右键点击项目;2. 选择“Open Module Settings”,如图所示;3. 在弹出窗口中配置自定义的JDK路径。通过以上步骤,可轻松更改项目所使用的JDK版本,满足不同开发环境的需求。
|
2月前
|
Java API 开发工具
Android cmdline-tools版本与最小JDK的关系
总的来说,Android的命令行工具和JDK之间的关系就像是一场舞会,两者需要彼此配合,才能共同创造出美妙的舞蹈。如果选择了不合适的舞伴(即不兼容的版本),可能会导致舞蹈中的步伐混乱,甚至无法完成舞蹈。而即使选择了合适的舞伴,也需要考虑舞伴的舞蹈技巧(即性能和稳定性),才能确保舞蹈的完美表现。因此,选择合适的Android命令行工具和JDK版本,是每一个Android开发者都需要面对的重要决定。
65 13
|
8月前
|
缓存 Java Maven
java: 警告: 源发行版 11 需要目标发行版 11 无效的目标发行版: 11 jdk版本不符,项目jdk版本为其他版本
如何解决Java项目中因JDK版本不匹配导致的编译错误,包括修改`pom.xml`文件、调整项目结构、设置Maven和JDK版本,以及清理缓存和重启IDEA。
317 1
java: 警告: 源发行版 11 需要目标发行版 11 无效的目标发行版: 11 jdk版本不符,项目jdk版本为其他版本
|
8月前
|
Java API Apache
除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
725 2
|
8月前
|
Java 关系型数据库 MySQL
【编程基础知识】Eclipse连接MySQL 8.0时的JDK版本和驱动问题全解析
本文详细解析了在使用Eclipse连接MySQL 8.0时常见的JDK版本不兼容、驱动类错误和时区设置问题,并提供了清晰的解决方案。通过正确配置JDK版本、选择合适的驱动类和设置时区,确保Java应用能够顺利连接MySQL 8.0。
731 1
|
8月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
467 1
|
8月前
|
Java 关系型数据库 开发工具
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
本文提供了解决方案,如何在IDEA中创建Spring 2.X版本的项目并使用JDK8,尽管Spring 2.X已停止维护且IDEA不再直接支持,通过修改pom.xml或使用阿里云的国内源来创建项目。
532 0
idea创建不了spring2.X版本,无法使用JDK8,最低支持JDK17 , 如何用idea创建spring2.X版本,使用JDK8解决方案
|
10月前
|
Java 开发工具
开发工具系列 之 同一个电脑上安装多个版本的JDK
这篇文章介绍了如何在一台电脑上安装和配置多个版本的JDK,包括从官网下载所需JDK、安装过程、配置环境变量以及如何查看和切换当前使用的JDK版本,并提到了如果IDEA和JDK版本不兼容时的解决方法。
开发工具系列 之 同一个电脑上安装多个版本的JDK
|
8月前
|
Oracle Java 关系型数据库
jdk17安装全方位手把手安装教程 / 已有jdk8了,安装JDK17后如何配置环境变量 / 多个不同版本的JDK,如何配置环境变量?
本文提供了详细的JDK 17安装教程,包括下载、安装、配置环境变量的步骤,并解释了在已有其他版本JDK的情况下如何管理多个JDK环境。
7300 0
|
10月前
|
开发者 C# UED
WPF多窗口应用程序开发秘籍:掌握窗口创建、通信与管理技巧,轻松实现高效多窗口协作!
【8月更文挑战第31天】在WPF应用开发中,多窗口设计能显著提升用户体验与工作效率。本文详述了创建新窗口的多种方法,包括直接实例化`Window`类、利用`Application.Current.MainWindow`及自定义方法。针对窗口间通信,介绍了`Messenger`类、`DataContext`共享及`Application`类的应用。此外,还探讨了布局控件与窗口管理技术,如`StackPanel`与`DockPanel`的使用,并提供了示例代码展示如何结合`Messenger`类实现窗口间的消息传递。总结了多窗口应用的设计要点,为开发者提供了实用指南。
606 0

推荐镜像

更多