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)

Reply via email to