在Maven3.0下创建了一个POM文件,可对项目进行正常的构建,但版本改为Maven2.2.1时却出现类似如下的编译错误:
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
D:\workspace\rbdp\src\main\java\com\util\Test.java:[20,49] 需要 '}'
D:\workspace\rbdp\src\main\java\com\util\Test.java:[20,50] 非法字符: \65533
D:\workspace\rbdp\src\main\java\com\util\Test.java:[20,51] 需要 <标识符>
D:\workspace\rbdp\src\main\java\com\util\Test.java:[20,52] 需要 ';'
…
该错误显然跟字符集编码有关,但POM文件中已指定了编码为UTF-8,在POM文件中包含如下内容:
? <properties>
????? <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
? </properties>
经反复试验和分析,发现这跟Maven版本有关。Maven3和Maven2版本变化不小,不完全兼容。
?
具体解决方法说明如下:??
?在确认POM文件中已有上述<project.build.sourceEncoding>内容的前提下,增加以下内容(如已包含maven-compiler-plugin的相关内容,则只需在相应位置增加红色字体部分内容):
? <build>?
??? <plugins>
????? <plugin>
??????? <groupId>org.apache.maven.plugins</groupId>
??????? <artifactId>maven-compiler-plugin</artifactId>
??????? <configuration>
? <source>1.5</source>
? <target>1.5</target>
? <encoding>UTF-8</encoding>
??????? </configuration>
????? </plugin>
??? </plugins>????
? </build>
?
? 注意:
??? 1、同时指定<project.build.sourceEncoding>属性和<encoding>的方式可适用于Maven2和Maven3。
??? 2、在Maven3中可以只增加<project.build.sourceEncoding>属性而不指定<encoding>,即能解决编译问题。如果只指定<encoding>编译不会出错,但会出现以下警告。建议两者都进行指定或只指定前者。警告信息如下:
[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!
??? 3、在Maven2中,如果只指定<project.build.sourceEncoding>属性则编译出错;如果只指定<encoding>编译不会出错,但会出现与第2点类似的警告,建议两者都进行指定,以免对运行产生影响。
相关推荐
Maven更新问题 今天Maven在更新的时候发现一直更新不成功,总结下解决方法。 在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven ...
Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project
Maven 使用 tomcat8-maven-plugin 插件 Maven 是一个流行的构建自动化工具,它可以帮助开发者自动完成项目的编译、测试、打包、部署等任务。 Tomcat 是一个流行的 Web 服务器,Maven 提供了一个插件 tomcat8-maven-...
**Apache Maven 3.6.1 安装与使用指南** Apache Maven 是一个强大的Java项目管理工具,它基于项目对象模型(Project Object Model, POM)的概念,能够自动化构建、依赖管理和项目信息管理。Maven 的核心理念是通过...
本文详细介绍了exec-maven-plugin的基本概念、配置方法、执行简单和系统脚本、捕获命令输出、条件执行、并发执行、使用环境变量、错误处理、高级配置、使用案例以及局限性。通过这些知识点,读者可以更加自信地在...
- **deploy**:将最终版本的包复制到远程仓库供其他开发人员和项目使用。 #### Maven插件 Maven插件是用来执行具体任务的工具,每个插件可以包含多个目标(Goal),每个目标对应着生命周期中的某个阶段。插件通常...
4. **错误修复**:此版本修复了多个已知问题,提升了Maven的稳定性和可靠性。 要下载Maven的历史版本,可以访问Apache Maven的官方网站(https://maven.apache.org/download.cgi)。在页面中,你可以找到一个下拉...
在软件开发过程中,构建工具如Maven与开发环境的兼容性至关重要,因为它直接影响到项目的构建、编译和测试流程。 **Maven** 是一个流行的Java项目管理和综合工具,它帮助开发者管理项目依赖、构建流程、生成文档等...
Maven是一个项目管理和构建自动化工具,主要服务于基于Java的软件项目。它是由Apache软件基金会提供的一个开源工具,使用一种名为Project Object Model (POM) 的XML文件来描述项目的构建过程、依赖关系和其他配置...
开发者只需在POM.xml中声明依赖,Maven会处理版本冲突和下载过程。 2. **插件系统**:Maven拥有丰富的插件生态系统,允许扩展其功能,例如生成Javadoc、执行单元测试、创建源码jar等。在3.6.0版本中,可能包含对...
idea创建Maven项目时,报错显示Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.0.2:resources,并且Maven插件内看不到 mybatis-generator。如下图: 折腾了好久发现配置放错地方了,...
2. **更稳定的仓库管理**: 在这个版本中,Maven改进了对远程仓库的错误处理,增强了仓库的可靠性和稳定性。 3. **更好的日志输出**: Maven 3.5.3改进了日志输出,使得开发者更容易理解和诊断构建问题。 4. **增强...
Maven是Java领域广泛使用的项目管理和综合工具,它提供了一种标准化的方式来构建、管理和部署软件项目。Maven插件是Maven生态系统的重要组成部分,它们扩展了Maven的核心功能,允许开发者执行特定的任务,如编译、...
使用eclipse整合maven时所需要使用的配置文件;只需修改文件中的本地仓库路径即可完成整合,java初学者必选。
- **JDK版本兼容性**:确保JDK版本与Maven支持的版本相匹配。 - **环境变量设置**:检查`PATH`和`JAVA_HOME`环境变量是否正确设置。 - **本地仓库路径**:根据需要配置Maven的本地仓库路径,以避免空间不足问题。 ...
8. 对多模块项目的优化:在处理大型的多模块项目时,Maven 3.6.0表现得更为出色,减少了不必要的编译和测试过程。 9. 更好的远程仓库交互:优化了与远程Maven仓库的通信,提高了下载速度,尤其是在网络环境不佳的...
在这个"apache-maven-3.5.4-bin"压缩包中,包含了Maven 3.5.4版本的所有组件和文件。 Maven的核心概念有三个主要部分:项目对象模型(Project Object Model,POM)、依赖管理和构建生命周期。POM是一个XML文件,...
Maven版本下载指南 Maven是一款基于Java的项目管理和构建工具,由 Apache Software Foundation 开发和维护。...Maven 3.5~3.6.3各版本都有其特点和改进,用户可以根据需要选择合适的版本进行下载和使用。
6. **Maven 3.6.6**: 最新的 Maven 3.6.6 版本继续强化了性能和用户体验,提供了更好的日志记录和错误处理,支持更多的第三方存储库协议,同时改进了与 Git 等版本控制系统集成的能力。 ** Maven 的核心概念 ** 1....
Maven 提供了一套完善的依赖管理系统,能够自动解析项目的依赖,并且处理它们之间的版本冲突。 - **特性三:插件机制** Maven 通过插件来实现各种功能,例如编译源代码、运行测试、生成项目报告等。这使得 Maven ...