`
bolinyang
  • 浏览: 75362 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

maven2编译报错

阅读更多
一.错误信息

今天优化了一个pom文件,结果出现下面的编译错误:


/home/yangbolin/workspace/decompile/decompile_shared/src/main/java/com/alibaba/decompile/frame/info/ObjectVariableInfo.java:[30,5] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
    @Override

/home/yangbolin/workspace/decompile/decompile_shared/src/main/java/com/alibaba/decompile/client/DecompileClient.java:[55,12] generics are not supported in -source 1.3
(use -source 5 or higher to enable generics)
        List<ByteCode> byteCodeList = readByteCodeFile.parse();

/home/yangbolin/workspace/decompile/decompile_shared/src/main/java/com/alibaba/decompile/common/DeprecatedInfoParser.java:[29,5] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
    @Override

/home/yangbolin/workspace/decompile/decompile_shared/src/main/java/com/alibaba/decompile/frame/info/UninitializedThisVariableInfo.java:[19,5] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
    @Override

/home/yangbolin/workspace/decompile/decompile_shared/src/main/java/com/alibaba/decompile/frame/parser/impl/TopVariableInfoParser.java:[23,5] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
    @Override

/home/yangbolin/workspace/decompile/decompile_shared/src/main/java/com/alibaba/decompile/handler/impl/ClassHandler.java:[27,5] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
    @Override

/home/yangbolin/workspace/decompile/decompile_shared/src/main/java/com/alibaba/decompile/attribute/info/CodeInfo.java:[57,16] generics are not supported in -source 1.3
(use -source 5 or higher to enable generics)
    private List<AttributeInfo>   attributeInfoList   = new ArrayList<AttributeInfo>();


[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.BuildFailureException: Compilation failure
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:715)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:516)
at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
... 17 more



从错误发现是由于JDK的版本过低导致不支持注解和泛型,就是说在使用maven进行编译的时候,如果不指定JDK版本,默认使用的是1.3,1.3不支持注解和泛型,如果程序中有注解和泛型,那就悲剧,编译不过。

二.解决方法

知道原因所在之后,那就很好解决问题了,我们只需要在pom文件中指定JDK的版本就OK了,增加下面这样一个plugin

<plugins>  
			<!--要是没有这个插件的话,maven就会出现编译错误,说不支持annotations-->
			<plugin>  
			  <groupId>org.apache.maven.plugins</groupId>  
			  <artifactId>maven-compiler-plugin</artifactId>  
			  <configuration>  
				<source>1.6</source>  
				<target>1.6</target>  
				<encoding>GBK</encoding>  
			  </configuration>  
			</plugin>  
</plugins>

三.感想

不知道maven为何提供插件而不自己去检测一下机器上JDK的版本呢?
分享到:
评论

相关推荐

    Jenkins编译报错Failed to execute goal org.apache.maven.plugins_maven-clean-plugin

    Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project

    解决Maven 项目报错 java.httpservlet和synchronized使用方法

    这种报错通常是由于Maven项目的编译问题所引起的。解决这种报错的方法是,在pom.xml文件的标签中添加标签,具体代码如下: ```xml &lt;groupId&gt;org.apache.maven.plugins &lt;artifactId&gt;maven-compiler-plugin ...

    maven web项目配置

    在IT行业中,Maven是一个广泛使用的构建自动化工具,主要用于Java项目。它管理项目的构建、报告和依赖关系,使得开发人员可以更加专注于代码本身,而非构建过程。本篇将深入探讨"Maven Web项目配置"的相关知识点。 ...

    maven打包出错解决办法,亲测绝对可以!

    2. **Nexus作为Maven私服**:Nexus是Sonatype公司提供的一个开源软件,常用于搭建Maven私服。安装Nexus,根据官方文档配置服务器环境,启动服务后,可以在Web界面中管理仓库。 3. **配置Maven指向私服**:在`...

    pit1_spring boot之 maven install 报错[Maven]1

    遵循这些步骤,你应该能够解决报错并成功执行`maven install`。在Spring Boot项目中,保持良好的代码组织和明确的主类定义是避免此类问题的关键。同时,定期更新依赖和遵循最佳实践也有助于维持项目的稳定性和可维护...

    maven报错积累文件

    在日常的软件开发工作中,尤其是使用Maven作为构建工具时,开发者可能会遇到各种各样的报错情况。Maven是一个强大的项目管理和集成工具,它能够帮助我们管理依赖、编译源码、打包应用以及执行测试等任务。然而,由于...

    Maven install 报错&quot;程序包不存在&quot;问题的解决方法

    如果以上方法都不能解决问题,可以尝试将整个 .m2/repository 文件夹从编译通过的电脑拷贝到自己电脑对应的 Maven 仓库地址,然后再编译。 Maven install 报错"程序包不存在"问题的解决方法需要我们详细地分析依赖...

    maven 常见错误集合

    由于Maven默认使用GBK编码进行编译,导致无法正确处理某些特殊字符,从而引发编译错误。解决这个问题的方法有两种: #### 方法一:在`pom.xml`中设置`project.build.sourceEncoding` 在`&lt;properties&gt;`标签内添加...

    maven编译pentaho-big-data-plugin遇到的所有问题解决

    maven编译pentaho-big-data-plugin遇到的所有问题解决,pentaho6.0

    geoserver源码编译文件

    本文将深入探讨如何利用IDEA和Maven对GeoServer进行源码编译,以帮助开发者更好地理解和定制GeoServer。 一、源码获取与环境准备 首先,你需要从GeoServer的官方Git仓库或者SourceForge下载源码,通常是2.13.x版本...

    Maven包和遇到的问题总结

    2. **生命周期与构建目标**: Maven的生命周期包括清理(clean)、编译(compile)、测试(test)、打包(package)、验证(install)和部署(deploy)等阶段。通过命令行执行`mvn clean install`即可完成整个生命...

    maven离线插件

    Maven插件是Maven的核心组成部分,它们扩展了Maven的功能,使得Maven能够执行各种任务,如编译、测试、打包、部署等。Eclipse Maven插件(m2eclipse)则是Eclipse IDE中的一个插件,它将Maven的构建功能集成到...

    Intellij IDEA中使用maven filter遇到的问题

    通过使用`${property}`语法,我们可以引用Maven属性并在编译或打包阶段动态替换这些值。这对于多环境部署非常有用,比如在不同的开发、测试和生产环境中使用不同的配置参数。 在IntelliJ IDEA中设置Maven Filter...

    新建maven后pom. xml报错解决方法

    在进行Maven项目的开发过程中,经常会遇到POM(Project Object Model)文件报错的问题,特别是在创建新的Maven项目时。本文将详细介绍如何解决新建Maven项目后POM.xml文件出现错误的情况。 ### 一、理解POM.xml ...

    maven 使用入门第三章

    POM是Maven理解和操作项目的基础,通过解析POM,Maven能够执行各种构建任务,如编译源代码、运行测试、打包应用、生成文档等。 ### 构建生命周期 Maven的构建生命周期由一系列阶段组成,每个阶段代表构建过程中的...

    lombok.jar;lombok.jar

    这些注解可以在编译时自动生成相应的代码,从而避免在源代码中手动编写这些繁琐的方法。 ### 主要功能 1. **@Data**:这个注解是最常用的,它可以为一个类生成所有字段的getter和setter,同时包括构造函数、equals...

    Maven在Java8下如何忽略Javadoc的编译错误详解

    然而,在使用Java8时,Maven的JavaDoc插件(maven-javadoc-plugin)对JavaDoc的语法检查变得更加严格,有时会因为一些小错误如缺少@param或@return注解而导致编译失败,这会严重影响项目的构建和部署流程。...

    IDEA最新版2020.1的maven工程本地依赖仓库无法使用问题(已解决)

    2. 其次,需要在pom文件中正确地引入依赖项,例如 javax.servlet.jsp-api 2.0。 3. 然后,需要在IDEA中配置maven的设置,使其能够正确加载本地仓库中的依赖项。 4. 最后,需要在pom文件中将红圈内选项前面的复选框...

Global site tag (gtag.js) - Google Analytics