You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Arne Degenring (JIRA)" <ji...@codehaus.org> on 2007/04/11 19:18:46 UTC

[jira] Updated: (MDEP-72) "IllegalArgumentException: Cannot accept visitor on URL" when project contains a non-jar (e.g. zip) dependency

     [ http://jira.codehaus.org/browse/MDEP-72?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arne Degenring updated MDEP-72:
-------------------------------

    Attachment: pom.xml

This does not seem to be fixed completely.

When I run dependency:analyze (2.0-alpha-4, Maven 2.0.6, empty local repo) on a simple POM that has no dependencies (see attached pom.xml), I end up with the following error:

[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Cannot accept visitor on URL: file:/D:/t/mvnbug/3/target
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.IllegalArgumentException: Cannot accept visitor on URL: file:/D:/t/mvn
bug/3/target
        at org.apache.maven.shared.dependency.analyzer.ClassFileVisitorUtils.acc
ept(ClassFileVisitorUtils.java:74)
        at org.apache.maven.shared.dependency.analyzer.asm.ASMDependencyAnalyzer
.analyze(ASMDependencyAnalyzer.java:49)
        at org.apache.maven.shared.dependency.analyzer.DefaultProjectDependencyA
nalyzer.buildDependencyClasses(DefaultProjectDependencyAnalyzer.java:180)
        at org.apache.maven.shared.dependency.analyzer.DefaultProjectDependencyA
nalyzer.analyze(DefaultProjectDependencyAnalyzer.java:74)
        at org.apache.maven.plugin.dependency.AnalyzeMojo.checkDependencies(Anal
yzeMojo.java:129)
        at org.apache.maven.plugin.dependency.AnalyzeMojo.execute(AnalyzeMojo.ja
va:104)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi
nManager.java:443)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa
ultLifecycleExecutor.java:539)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandalone
Goal(DefaultLifecycleExecutor.java:493)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau
ltLifecycleExecutor.java:463)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan
dleFailures(DefaultLifecycleExecutor.java:311)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen
ts(DefaultLifecycleExecutor.java:278)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi
fecycleExecutor.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(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        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)


> "IllegalArgumentException: Cannot accept visitor on URL" when project contains a non-jar (e.g. zip) dependency
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: MDEP-72
>                 URL: http://jira.codehaus.org/browse/MDEP-72
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Bug
>          Components: analyze
>    Affects Versions: 2.0-alpha-3
>            Reporter: Max Bowsher
>            Assignee: Brian Fox
>             Fix For: 2.0-alpha-4
>
>         Attachments: pom.xml
>
>
> (Package: org.apache.maven.shared.dependency.analyzer)
> DefaultProjectDependencyAnalyzer.buildArtifactClassMap(MavenProject) calls MavenProject.getArtifacts() and then passes the results of artifact.getFile().toURL() to DefaultClassAnalyzer.analyze(URL).  This calls ClassFileVisitorUtils.accept(URL, ClassFileVisitor), which has some fairly  restrictive requirements about what URLs it can receive.
> The end result of this is that if you have a project with a non-jar type of dependency, Maven dies with an IllegalArgumentException

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira