Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NPE in docker:build if neither certPath nor $DOCKER_CERT_PATH are defined #764

Closed
rkondrashov opened this issue Apr 24, 2017 · 1 comment

Comments

@rkondrashov
Copy link

Description

When neither certPath property set nor DOCKER_CERT_PATH environment variable is defined, docker:build task fails with NPE. An error message at this point would be better.

Info

  • d-m-p version : 0.20.1
  • Maven version: 3.3.9
  • Docker version : 17.03.0-ce
  • OS: linux/amd64
[ERROR] Failed to execute goal io.fabric8:docker-maven-plugin:0.20.1:build (default-cli) on project test-service: Execution default-cli of goal io.fabric8:docker-maven-plugin:0.20.1:build failed. NullPointerException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal io.fabric8:docker-maven-plugin:0.20.1:build (default-cli) on project test-service: Execution default-cli of goal io.fabric8:docker-maven-plugin:0.20.1:build failed.
        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:116)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal io.fabric8:docker-maven-plugin:0.20.1:build failed.
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:145)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
        ... 20 more
Caused by: java.lang.NullPointerException
        at io.fabric8.maven.docker.access.DockerConnectionDetector$ConnectionParameter.initCertPath(DockerConnectionDetector.java:171)
        at io.fabric8.maven.docker.access.DockerConnectionDetector$ConnectionParameter.<init>(DockerConnectionDetector.java:146)
        at io.fabric8.maven.docker.access.DockerConnectionDetector$UnixSocketDockerHostProvider.getConnectionParameter(DockerConnectionDetector.java:110)
        at io.fabric8.maven.docker.access.DockerConnectionDetector.detectConnectionParameter(DockerConnectionDetector.java:78)
        at io.fabric8.maven.docker.service.DockerAccessFactory.createDockerAccess(DockerAccessFactory.java:37)
        at io.fabric8.maven.docker.AbstractDockerMojo.execute(AbstractDockerMojo.java:220)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
        ... 21 more
@rhuss
Copy link
Collaborator

rhuss commented May 16, 2017

Thanks for reporting this. It seems that the directory ~/.docker exist for you as a directory but is not readable by the d-m-p process. (This directory is checked for certificates).

I adapted the error message to reflect this situation better.

rgbj pushed a commit to rgbj/docker-maven-plugin that referenced this issue Jun 21, 2017
…aths

Now an exception with a more meaningful message is thrown.

Fixes fabric8io#764
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants