Filip Bellander created MCOMPILER-248:
-----------------------------------------
Summary: Missing compiler in configuration creates cryptic error
Key: MCOMPILER-248
URL: https://issues.apache.org/jira/browse/MCOMPILER-248
Project: Maven Compiler Plugin
Issue Type: Improvement
Affects Versions: 3.1
Environment: CentOS server running jenkins.
Reporter: Filip Bellander
In our configuration file, we had an old path to javac specified (we updated
our java recently, and thus the given path was incorrect). Instead of giving
some information that the compiler that maven was trying to use to compile our
sources was missing, this was given:
{code}
Parsing POMs
Modules changed, recalculating dependency graph
[BuildPaBackend] $ /usr/java/default/bin/java -cp
/opt/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven31-agent-1.4.jar:/opt/apache-maven-3.2.1/boot/plexus-classworlds-2.5.1.jar
jenkins.maven3.agent.Maven31Main /opt/apache-maven-3.2.1
/opt/apache-tomcat-7.0.63/webapps/jenkins/WEB-INF/lib/remoting-2.32.jar
/opt/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven31-interceptor-1.4.jar
/opt/jenkins_home/plugins/maven-plugin/WEB-INF/lib/maven3-interceptor-commons-1.4.jar
53960
<===[JENKINS REMOTING CAPACITY]===>channel started
log4j:WARN No appenders could be found for logger
(org.apache.commons.beanutils.converters.BooleanConverter).
log4j:WARN Please initialize the log4j system properly.
Executing Maven: -B -f /opt/jenkins_home/workspace/BuildPaBackend/pom.xml
install site
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
Scanning for projects...
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger -
Scanning for projects...
[pool-1-thread-1] WARN org.apache.maven.DefaultMaven -
[pool-1-thread-1] WARN org.apache.maven.DefaultMaven - Some problems were
encountered while building the effective model for
se.ourCompany:ourCompany-product-admin-backend:jar:1.0-SNAPSHOT
[pool-1-thread-1] WARN org.apache.maven.DefaultMaven -
'dependencies.dependency.systemPath' for jconch:jconch:jar should not point at
files within the project directory, ${basedir}/src/lib/JConch-1.1-bin.jar will
be unresolvable by dependent projects @ line 151, column 25
[pool-1-thread-1] WARN org.apache.maven.DefaultMaven -
[pool-1-thread-1] WARN org.apache.maven.DefaultMaven - It is highly recommended
to fix these problems because they threaten the stability of your build.
[pool-1-thread-1] WARN org.apache.maven.DefaultMaven -
[pool-1-thread-1] WARN org.apache.maven.DefaultMaven - For this reason, future
Maven versions might no longer support building such malformed projects.
[pool-1-thread-1] WARN org.apache.maven.DefaultMaven -
[pool-1-thread-1] INFO org.apache.maven.lifecycle.internal.LifecycleStarter -
[pool-1-thread-1] INFO org.apache.maven.lifecycle.internal.LifecycleStarter -
Using the builder
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder
with a thread count of 1
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
------------------------------------------------------------------------
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
Building ourCompany Product Administration Backend 1.0-SNAPSHOT
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
------------------------------------------------------------------------
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger -
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger -
------------------------------------------------------------------------
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger -
Building ourCompany Product Administration Backend 1.0-SNAPSHOT
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger -
------------------------------------------------------------------------
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener - ---
maven-resources-plugin:2.7:resources (default-resources) @
ourCompany-product-admin-backend ---
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger -
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger - ---
maven-resources-plugin:2.7:resources (default-resources) @
ourCompany-product-admin-backend ---
[pool-1-thread-1] INFO
org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering - Using
'UTF-8' encoding to copy filtered resources.
[pool-1-thread-1] INFO
org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering - skip non
existing resourceDirectory
/opt/jenkins_home/workspace/BuildPaBackend/src/main/resources
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener - ---
maven-compiler-plugin:3.2:compile (default-compile) @
ourCompany-product-admin-backend ---
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger -
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger - ---
maven-compiler-plugin:3.2:compile (default-compile) @
ourCompany-product-admin-backend ---
[pool-1-thread-1] INFO org.apache.maven.plugin.compiler.CompilerMojo - Changes
detected - recompiling the module!
[pool-1-thread-1] INFO org.codehaus.plexus.compiler.javac.JavacCompiler -
Compiling 540 source files to
/opt/jenkins_home/workspace/BuildPaBackend/target/classes
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
------------------------------------------------------------------------
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
BUILD FAILURE
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
------------------------------------------------------------------------
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
Total time: 17.477 s
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
Finished at: 2015-07-28T11:43:13+01:00
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
Final Memory: 16M/228M
[pool-1-thread-1] INFO hudson.maven.Maven3Builder$MavenExecutionListener -
------------------------------------------------------------------------
[JENKINS] Archiving /opt/jenkins_home/workspace/BuildPaBackend/pom.xml to
/opt/jenkins_home/jobs/BuildPaBackend/modules/se.ourCompany$ourCompany-product-admin-backend/builds/2015-07-28_11-42-45/archive/se.ourCompany/ourCompany-product-admin-backend/1.0-SNAPSHOT/ourCompany-product-admin-backend-1.0-SNAPSHOT.pom
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger -
------------------------------------------------------------------------
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger - BUILD
FAILURE
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger -
------------------------------------------------------------------------
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger - Total
time: 18.528 s
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger -
Finished at: 2015-07-28T11:43:14+01:00
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger - Final
Memory: 17M/228M
[pool-1-thread-1] INFO org.apache.maven.cli.event.ExecutionEventLogger -
------------------------------------------------------------------------
Waiting for Jenkins to finish collecting data
mavenExecutionResult exceptions not empty
message : Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-compile) on
project ourCompany-product-admin-backend: Compilation failure
cause : Compilation failure
Stack trace :
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal
org.apache.maven.plugins:maven-compiler-plugin:3.2:compile (default-compile) on
project ourCompany-product-admin-backend: Compilation failure
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
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:108)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
at
org.jvnet.hudson.maven3.launcher.Maven31Launcher.main(Maven31Launcher.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:330)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:238)
at jenkins.maven3.agent.Maven31Main.launch(Maven31Main.java:181)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:129)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:67)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at
hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.maven.plugin.compiler.CompilationFailureException:
Compilation failure
at
org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:913)
at
org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:129)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 30 more
channel stopped
Finished: FAILURE
{code}
So, instead of this error, I suggest that if the compiler (javac) can't be
found, inform the user of this instead of giving this strange error. Took us
half a day to figure out what could have gone wrong, and the error message
didn't really help.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)