【Maven学习】Eclipse使用maven问题集
环境
jdk 1.8
eclipse 4.7
apache-maven-3.6.1
一、eclipse 编译maven工程步骤
1、Update Project
2、maven clean
3、maven install
二、Update Project 报错:Cannot nest src folder
问题原因:一般在导入maven war类型工程时,eclipse不能正确的区分资源目录,导致不能识别该maven工程,所以无法进行update
正确的目录类型如下,
build path如下:
如果是下面的目录 ,src/main/java src/main/resources src/test/java 的目录虽然符合maven工程约定层级,但文件夹类型显然不是资源类型(source folder),这样eclipse就无法识别了
如何修改呢?
选择工程 Configure Build Path:
三、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创建一个工程,在默认情况下,项目的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>
六、查看maven jar依赖关系
参考:https://blog.csdn.net/qq_35893120/article/details/78436455
最新文章
- Atitit.异常处理 嵌套&#160;&#160;冗长的解决方案
- Clustering Methods: Benefits and Limitations
- iphone获取当前磁盘信息
- [HDU 4821] String (字符串哈希)
- python mongodb MapReduce
- URAL1244. Gentlemen(背包)
- java反射新的应用
- [译]Java 设计模式之适配器
- macos系统下共语言gopath变量的设置
- [译]WPF MVVM 架构 Step By Step(5)(添加actions和INotifyPropertyChanged接口)
- ABAP 内表数据 与 Json串 相互转换
- webpack 3.X学习之多页面打包
- xin
- LeetCode 任务调度器-Python3<;八>;
- web前端----css选择器样式
- 【转】如何选择Html.RenderPartial和Html.RenderAction
- vsftpd文件虚拟用户搭建
- oracle用plsql登陆出错,提示ORA-12170:TNS:链接超时 --------关闭防火墙试试
- centos7 安装mysql5.7以及一些细节问题
- spring框架中的aop技术
热门文章
- 在 iTunes Connect 中,无法找到“My Apps”选项
- 异常sql处理
- wordpress导航当前页面菜单高亮显示如何操作
- SQL Server 定期归档大表历史数据
- MongoDB 大数据技术之mongodb中在嵌套子文档的文档上面建立索引
- [转]Reids配置文件redis.conf中文详解
- javascript利用canvas解析图片中的二维码
- Nexus OSS私服仓库的备份与迁移
- Morpheus
- PHP系列 | PDO::prepare(): send of 68 bytes failed with errno=32 Broken pipe