【问题标题】:Jenkins and maven-compiler-plugin?詹金斯和maven-compiler-plugin?
【发布时间】:2013-04-02 11:43:51
【问题描述】:

我在配置 Jenkins 时遇到问题,我正在从 tomcat7 [在 ubuntu 上] [从 apache 下载,未通过 apt-get 安装] 运行 jenkins。我已经从 Oracle 安装了 java。当我想构建一个项目时,maven 说 maven-compiler-plugin 导致问题:

    org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project npa: Compilation failure
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)

关键是我没有在这个版本中使用 maven-compiler-plugin,我什至没有在任何 POM 中声明这个插件!我自己无法在 pom 中添加任何内容[不要问为什么]

编辑: 全栈 [maven 中的 -X 选项]

14:02:37    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
14:02:37    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
14:02:37    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
14:02:37    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
14:02:37    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
14:02:37    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
14:02:37    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
14:02:37    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
14:02:37    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
14:02:37    at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
14:02:37    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
14:02:37    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
14:02:37    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
14:02:37    at java.lang.reflect.Method.invoke(Method.java:597)
14:02:37    at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
14:02:37    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
14:02:37    at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
14:02:37    at hudson.maven.Maven3Builder.call(Maven3Builder.java:98)
14:02:37    at hudson.maven.Maven3Builder.call(Maven3Builder.java:64)
14:02:37    at hudson.remoting.UserRequest.perform(UserRequest.java:118)
14:02:37    at hudson.remoting.UserRequest.perform(UserRequest.java:48)
14:02:37    at hudson.remoting.Request$2.run(Request.java:326)
14:02:37    at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
14:02:37    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
14:02:37    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
14:02:37    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
14:02:37    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
14:02:37    at java.lang.Thread.run(Thread.java:662)
14:02:37 Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure
14:02:37    at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:516)
14:02:37    at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
14:02:37    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
14:02:37    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)

【问题讨论】:

  • 没有maven-compiler-plugin是不能让maven编译java源代码的。默认添加。
  • 如何更改此插件的默认版本?
  • 是的,我去过,问题是我无法修改 POM 来更改版本

标签: maven tomcat jenkins maven-compiler-plugin


【解决方案1】:

代码无法编译。 Maven 默认包含编译器插件。查看错误消息的其余部分以找出代码未编译的原因。可能与不兼容的 Java 版本有关。

编辑:您使用的是旧版本的编译器插件,默认为 Java 1.3 选项,这就是它无法编译的原因。

我怀疑 Jenkins 可能指向 Maven 2(请参阅此问题 Maven : error: generics are not supported in -source 1.3 , I am using 1.6)。确保 Jenkins 使用的是正确的 Maven 3 安装。

【讨论】:

  • 重点是我没有使用任何花哨或不寻常的东西,mvn -version 给我这个:Apache Maven 3.0.4 Maven 主页:/usr/share/maven Java 版本:1.6.0_43,供应商:Sun Microsystems Inc. Java 主页:/usr/lib/jvm/java-1.6-oracle/jre 默认语言环境:en_GB,平台编码:UTF-8,据我所知,这是项目的 Java 版本
  • 会有编译输出解释为什么代码不能编译。请更新问题。
  • 这是堆栈跟踪中唯一的错误,其他只是标准调试消息
  • 没有以[ERROR] COMPILATION ERROR : 开头的行??
  • 检查 jenkins 配置,并查看完整的构建输出以确定正在运行的 maven 版本。还请验证正在使用的编译器插件的版本(它似乎是 2.0.2 非常旧,可能是您问题的根源)
猜你喜欢
  • 2013-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-02
  • 1970-01-01
  • 2014-08-31
  • 2012-07-19
  • 2016-02-01
相关资源
最近更新 更多