首页 技术 正文
技术 2022年11月21日
0 收藏 995 点赞 3,883 浏览 2202 个字

环境

  jdk 1.8

  eclipse 4.7

  apache-maven-3.6.1

一、eclipse 编译maven工程步骤

1、Update Project

【Maven学习】Eclipse使用maven问题集

2、maven clean

3、maven install

【Maven学习】Eclipse使用maven问题集

二、Update Project 报错:Cannot nest src folder

【Maven学习】Eclipse使用maven问题集

问题原因:一般在导入maven war类型工程时,eclipse不能正确的区分资源目录,导致不能识别该maven工程,所以无法进行update

正确的目录类型如下,

【Maven学习】Eclipse使用maven问题集

build path如下:

【Maven学习】Eclipse使用maven问题集

如果是下面的目录 ,src/main/java     src/main/resources    src/test/java  的目录虽然符合maven工程约定层级,但文件夹类型显然不是资源类型(source folder),这样eclipse就无法识别了

【Maven学习】Eclipse使用maven问题集

如何修改呢?

选择工程 Configure Build Path:

【Maven学习】Eclipse使用maven问题集

【Maven学习】Eclipse使用maven问题集

三、eclipse里maven操作在控制台显示中文乱码

参考:执行Maven install或Maven test命令时控制台输出乱码的解决办法

四、maven build报错:-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.

问题原因:

  1、未设置环境变量M2_HOME;

  2、jdk和maven版本不匹配;

解决措施:

  1、设置环境变量 指向maven安装目录

  2、修改jre参数:

  Window->Preference->Java->Installed JREs->Edit

  在Default VM arguments中设置

  -Dmaven.multiModuleProjectDirectory=$M2_HOME

【Maven学习】Eclipse使用maven问题集

五、使用maven创建一个工程,在默认情况下,项目的JDK版本会变为1.5

问题描述:

如果使用maven创建一个工程,在默认情况下,项目的JDK版本会变为1.5

原因分析:

Maven官方文档有如下描述:
编译器插件用来编译项目的源文件.从3.0版本开始, 用来编译Java源文件的默认编译器是javax.tools.JavaCompiler (如果你是用的是java 1.6) . 如果你想强制性的让插件使用javac,你必须配置插件选项 forceJavacCompilerUse. 同时需要注意的是目前source选项和target 选项的默认设置都是1.5, 与运行Maven时的JDK版本无关.如果你想要改变这些默认设置, 可以参考 Setting the -source and -target of the Java Compiler中的描述来设置 source 和target 选项.
这是Maven已知的一个特性。除非在你的POM文件中显示的指定一个版本,否则会使用编译器默认的source/target版本1.5。主要还是在于Eclipse中Maven的集成方式起到了关键作用, 它会从POM文件中生成项目的.project,.classpath以及.settings, 因此除非POM文件指定了正确的JDK版本, 否则你每次更新项目配置的时候它都会重置到1.5版本。

解决方法:

5.1更改maven的默认配置

在maven的setting.xml文件的<profiles>标签中加入

<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>

5.2 解决某个工程的配置
相对于更改全局配置,修改具体项目的pom文件更适合在与他人合作时使用,以防止版本变动出现的问题,在项目的pom.xml文件中加入下列代码

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

参考: http://blog.henghengya.cn/blog/2019-01-13-jie-jue-maven-chuang-jian-xiang-mu-mo-ren-ban-ben-wei-jdk1-5.html

六、查看maven jar依赖关系

【Maven学习】Eclipse使用maven问题集

参考:https://blog.csdn.net/qq_35893120/article/details/78436455

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,023
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,513
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,360
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,143
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,774
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,852