Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-3975

getArtifact(Artifact artifact, List remoteRepositories) should include Exception in debug log messages.

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0.9
    • Fix Version/s: 2.0.10, 2.1.0
    • Component/s: Logging
    • Labels:
      None
    • Environment:
      Any environment.

      Description

      We recently had an issue where the local repo could not be created due to permissions issues. Unfortunately the default output of mvn -X is not helpful in debugging this issue.

      In org.apache.maven.wagon.AbstractWagon:

      protected void createParentDirectories( File destination )
      throws TransferFailedException
      {
      File destinationDirectory = destination.getParentFile();
      if ( destinationDirectory != null && !destinationDirectory.exists() )
      {
      if ( !destinationDirectory.mkdirs() )

      { throw new TransferFailedException( "Specified destination directory cannot be created: " + destinationDirectory ); }

      }
      }

      if TransferFailedException("Specified destination directory cannot be created: " + destinationDirectory ); is thrown it eventually bubbles up to org.apache.maven.artifact.manager.DefaultWagonManager and is caught in the second catch block from this snippet of public void getArtifact( Artifact artifact, List remoteRepositories ):

      try

      { getArtifact( artifact, repository ); successful = artifact.isResolved(); }

      catch ( ResourceDoesNotExistException e )

      { // This one we will eat when looking through remote repositories // because we want to cycle through them all before squawking. getLogger().debug( "Unable to get resource '" + artifact.getId() + "' from repository " + repository.getId() + " (" + repository.getUrl() + ")" ); }

      catch ( TransferFailedException e )

      { getLogger().debug( "Unable to get resource '" + artifact.getId() + "' from repository " + repository.getId() + " (" + repository.getUrl() + ")" ); }

      Can we also include the exception in the debug log message? e.g. make this call:

      getLogger().debug( "Unable to get resource '" + artifact.getId() + "' from repository " +
      repository.getId() + " (" + repository.getUrl() + ")" , e);

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                bentmann Benjamin Bentmann
                Reporter:
                ss Stoyan
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: