maven项目配置使用jdk1.8进行编译的插件

摘要:
使用Maven插件编译Maven项目时,会报告一个错误:,此处记录了此错误的原因和解决方法。问题的原因是菱形运算符,它引用了JDK1.7的一个新特性:ListList=newArrayList()//List1list=newArray List()//对于JDK1.7和更高版本,Maven默认使用JDK1.5进行编译。自然,语法无法识别,并报告上述错误。解决这个问题的方法是在Maven项目中配置用JDK1.8编译的插件。将以下编译插件添加到pom中。xml文件:<build><plugins><plugin><groupId>org。阿帕奇。专家插件</groupId><artifactId>maven编译器插件</artifactId><version>3.5.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugins></build>这样,maven将使用JDK1.8进行编译和打包,并且不会报告上述错误。

在使用Maven插件编译Maven项目的时候报了这样一个错:【Java source1.5不支持diamond运算符,请使用source 7或更高版本以启用diamond运算符】,这里记录下出现这个错误的原因以及解决这个问题的方法。

问题出现的原因

diamond运算符,指的是JDK1.7的一个新特性:

List<String> list = new ArrayList<String>(); // 老版本写法
List<String> list = new ArrayList<>(); // JDK1.7及以后的写法

而Maven默认用的是JDK1.5去编译,自然就不识别这个语法,也就报出了上面的错误。

解决问题的方法

解决问题的方法就是在Maven项目配置使用JDK1.8进行编译的插件。

在pom.xml文件中添加以下编译插件:

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

这样,Maven就会使用JDK1.8进行编译打包,也就不会报上面的错了。

"你在雨中行走,你从不打伞。"

免责声明:文章转载自《maven项目配置使用jdk1.8进行编译的插件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CentOS下配置Java开发环境安装OpenJDKaccess数据库删除两个日期之间 的数据 SQL语句下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

利用adb实时查看应用日志

出现乱码解决办法:就是通过chcp命令改变代码页,UTF-8的代码页为65001,输入命令:,执行该操作后,代码页就被变成UTF-8了。...

如何开发一款浏览器[转]

另一个问题是“开发浏览器有什么困难?”,范围不限于PC或移动浏览器。从这个角度来看,开发浏览器并不容易。有很多种类的知识和困难需要处理,但如此多的努力将得到相应的回报。InfoQ的读者们,您是否也考虑过开发浏览器?你对如何开发浏览器有什么看法?...

Jmeter中获取返回结果中的值

在jmeter的测试中,通常需要在下一个请求中使用上一个请求的返回值。如何获得返回值非常重要。插件下载地址为:http://jmeter-plugins.org/wiki/JSONPathExtractor/下载后,将lib文件夹放在jmeter目录中。...

docker.service启动失败:Unit not found的原因及解决办法

解决方案是删除/usr/lib/systemd/system/docker.service的[UNIT]中包含的dockersocket,然后重新加载systemctldaemon,最后是systemctlstartdocker.service。启动成功。在类似的情况下,docker.socket缺失,但新版本需要docker.seocket。这是因为Fla...

狼人杀规则

自爆后,所有演讲立即暂停,进入夜间。自爆后的那晚,狼人可以指着那把刀。预言家只能验证某个玩家是否是狼人,除狼人是否是狼人之外的所有信息都无法验证。如果先知测试丘比特,法官不必担心丘比特是哪一个阵营,只会展示好人的手势。...

CentOS7 复制文件夹和移动文件夹

CentOS7在Linux中复制、移动和删除文件的命令有:cp、mv、rm I。文件复制命令cp命令格式:cp[-adfilprsu]源文件(source)目标文件(destination)cp[option]source1source2source3…directory参数描述:-a:指存档,即复制所有目录-d:如果源文件是连接文件(linkfile...