Maven
  1. Maven
  2. MNG-2900

Extensions that have no declared dependency on plexus-utils yet need it at runtime will fail.

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.6
    • Component/s: None
    • Labels:
      None
    • Complexity:
      Intermediate
    • Number of attachments :
      0

      Description

      This is happening with the WebDAV Wagon:

      java.lang.NoClassDefFoundError: org/codehaus/plexus/util/StringUtils
      at org.apache.maven.wagon.providers.webdav.WebDavWagon.put(WebDavWagon.java:192)
      at org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:237)
      at org.apache.maven.artifact.manager.DefaultWagonManager.putArtifact(DefaultWagonManager.java:153)
      at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:80)
      at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:162)
      at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:443)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:278)
      at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:143)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:334)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
      at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
      at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
      at org.codehaus.classworlds.Launcher.main(Launcher.java:375)

        Issue Links

          Activity

          Hide
          Jason van Zyl added a comment -

          We need your POM as you must have something different. I upload via WebDAV all day with 2.0.7 as I did with 2.0.6. I need to see the project.

          Show
          Jason van Zyl added a comment - We need your POM as you must have something different. I upload via WebDAV all day with 2.0.7 as I did with 2.0.6. I need to see the project.
          Hide
          Calin Medianu added a comment -

          Thank you for your reply.

          There is no POM or project. With this command line I am trying to upload (deploy:deploy-file) a pomless jar into the repository. The command line is:

          ./mvn.bat deploy:deploy-file -DgroupId=test.case -DartifactId=GWT-Stuff -Dversion=20070309 -DgeneratePom=true -Dpackaging=jar -DrepositoryId=server -Durl=dav:http://server:7777/maven2/sandbox -Dfile=GWT-Stuff.jar

          I expect it to generate the pom and the checksums.

          I got this working in 2.0.4 by adding a bunch of dav related files to maven-2.0.4\lib

          Thanks,

          Calin

          Show
          Calin Medianu added a comment - Thank you for your reply. There is no POM or project. With this command line I am trying to upload (deploy:deploy-file) a pomless jar into the repository. The command line is: ./mvn.bat deploy:deploy-file -DgroupId=test.case -DartifactId=GWT-Stuff -Dversion=20070309 -DgeneratePom=true -Dpackaging=jar -DrepositoryId=server -Durl=dav: http://server:7777/maven2/sandbox -Dfile=GWT-Stuff.jar I expect it to generate the pom and the checksums. I got this working in 2.0.4 by adding a bunch of dav related files to maven-2.0.4\lib Thanks, Calin
          Hide
          Jason van Zyl added a comment -

          Right ... this is a known problem and you must load webdav as an extension or you must have had the dav libraries in your classpath, or Maven home for this to work. We are aware of this problem. When webdav is listed as an extension, which is the only way it works, then you can deploy fine. So this problem is actually fixed, and in the future it might be a little more kind to a project like Maven not to post your issues to site like TSS telling the world the issue hasn't been fixed when, in fact, is was. You have a different problem.

          We will make the deployment plugin smarter in that it should parse user supplied URLs for Wagon extensions and load them. But this is not a an issue with plexus-utils not being present. I deploy everyday using WebDAV but it doesn have to be configured in the POM to load the extension into the right classloader.

          Show
          Jason van Zyl added a comment - Right ... this is a known problem and you must load webdav as an extension or you must have had the dav libraries in your classpath, or Maven home for this to work. We are aware of this problem. When webdav is listed as an extension, which is the only way it works, then you can deploy fine. So this problem is actually fixed, and in the future it might be a little more kind to a project like Maven not to post your issues to site like TSS telling the world the issue hasn't been fixed when, in fact, is was. You have a different problem. We will make the deployment plugin smarter in that it should parse user supplied URLs for Wagon extensions and load them. But this is not a an issue with plexus-utils not being present. I deploy everyday using WebDAV but it doesn have to be configured in the POM to load the extension into the right classloader.
          Hide
          Calin Medianu added a comment -

          Hi,

          Thanks again for looking into it. Indeed, in 2.0.7 this issue is fixed and another issue has surfaced. In 2.0.6 is is NOT fixed. I said on TSS that this bug was not fixed in 2.0.6, which is true.

          My comment on TSS was unkind and I'm sorry for that. The reason was to draw attention to the comment from Brill Pappin - [07/May/07 12:04 PM ] which was ignored for 2 months as well as the frustration from having to support a co-worker that decided to upgrade from 2.0.4 to 2.0.6 and DAV stopped working for her. in 2.0.4 dav is working from the command line with the extra jars in maven/lib, in 2.0.6 it cannot find the org/codehaus/plexus/util/StringUtils

          I am actually a promoter of maven2 in my organization...

          Thanks,

          Calin

          Show
          Calin Medianu added a comment - Hi, Thanks again for looking into it. Indeed, in 2.0.7 this issue is fixed and another issue has surfaced. In 2.0.6 is is NOT fixed. I said on TSS that this bug was not fixed in 2.0.6, which is true. My comment on TSS was unkind and I'm sorry for that. The reason was to draw attention to the comment from Brill Pappin - [07/May/07 12:04 PM ] which was ignored for 2 months as well as the frustration from having to support a co-worker that decided to upgrade from 2.0.4 to 2.0.6 and DAV stopped working for her. in 2.0.4 dav is working from the command line with the extra jars in maven/lib, in 2.0.6 it cannot find the org/codehaus/plexus/util/StringUtils I am actually a promoter of maven2 in my organization... Thanks, Calin
          Hide
          Jason van Zyl added a comment -

          We appreciate that, and I know people get frustrated but we're just like every other development shop that has problems ... ours is just spread out all over the world and we have very few dedicated resources. Also, that a comment isn't made in JIRA doesn't mean we're not looking at something. We could probably comment better, or mark issues as in progress but I looked at the issue pretty soon after it was report though it did take me a few weeks to getting around to fixing it.

          Show
          Jason van Zyl added a comment - We appreciate that, and I know people get frustrated but we're just like every other development shop that has problems ... ours is just spread out all over the world and we have very few dedicated resources. Also, that a comment isn't made in JIRA doesn't mean we're not looking at something. We could probably comment better, or mark issues as in progress but I looked at the issue pretty soon after it was report though it did take me a few weeks to getting around to fixing it.

            People

            • Assignee:
              Jason van Zyl
              Reporter:
              Jason van Zyl
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: