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

Loading resource from plugin dependency using Plexus ResourceManager fails with leading slash

    XMLWordPrintableJSON

Details

    Description

      When a maven plugin tries to load a resource(file) from a plugin dependency defined in a project pom file and the path to that resource begins with 'slash' / then the resource is not found. The code uses the Plexus ResourceManagers

      Example code that works in 2.2.1 and earlier and fails in Maven 3.0-alpha-5. If resource is in root of jar and configFile begins with forward slash then we get ResourceNotFoundException.

       /**
           * ResourceManager for getting a resource from a dependency jar
           *
           * @component
           * @required
           * @readonly
           */
          private ResourceManager locator;
      ...
      protected void loadResource(String configFile) throws
                  ResourceNotFoundException
          {
              InputStream inStream = null;
              if (configFile != null)
              {
                  try
                  {
                      inStream =
                              locator.getResourceAsInputStream(configFile);
                  } finally
                  {
                      if (inStream != null)
                      {
                          try
                          {
                              inStream.close();
                          } catch (IOException ex)
                          {
                              throw new RuntimeException(
                                      "Should not have happended", ex);
                          }
                      }
                  }
              }
          }
      
      

      Will attach IT test.

      Attachments

        1. mng-4514-IT.zip
          12 kB
          Peter Lynch

        Issue Links

          Activity

            People

              bentmann Benjamin Bentmann
              plynch Peter Lynch
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: