[ 
https://issues.apache.org/jira/browse/MNG-7024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17255971#comment-17255971
 ] 

Robert Scholte commented on MNG-7024:
-------------------------------------

Btw, even with the mentioned improvements, in this case I expect there will 
still be an Exception, because it works as expected.
Maven is now root-reactor aware, which means it'll use the artifacts of the 
multimodule project if they are within reach if the command was called from the 
root.
This will garantuee that artifacts won't leak from any repository. 
If you've never build the complete camel project, you won't be able to assemble 
camel.

This mechanism is introduced to understand where artifacts are coming from. 
Especially IDEs are struggling with this. We call it the jetty:run usecase. 
In case a multimodule contains a lib and a webapp (using lib) and you try to 
run jetty:run, it'll fail due to the missing lib artifact or it'll use the lib 
artifact from your local repository, but not from the lib module as most 
developers would expect. This is the #1 argument to keep using {{mvn install}} 
every time to prevent suprises.

> Directory instead of file in an artifact
> ----------------------------------------
>
>                 Key: MNG-7024
>                 URL: https://issues.apache.org/jira/browse/MNG-7024
>             Project: Maven
>          Issue Type: Bug
>            Reporter: Guillaume Nodet
>            Priority: Blocker
>             Fix For: 4.0.x-candidate
>
>
> When trying to build camel assembly with maven 3.7.0-SNAPSHOT, I hit the 
> following exception
> {code}
> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-assembly-plugin:3.0.0:single (bin) on project 
> apache-camel: Failed to create assembly: Error adding file 
> 'org.apache.camel:camel-spring:jar:3.7.0-SNAPSHOT' to archive: 
> /Users/gnodet/work/git/camel/components/camel-spring/target/classes isn't a 
> file. -> [Help 1]
> org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute 
> goal org.apache.maven.plugins:maven-assembly-plugin:3.0.0:single (bin) on 
> project apache-camel: Failed to create assembly: Error adding file 
> 'org.apache.camel:camel-spring:jar:3.7.0-SNAPSHOT' to archive: 
> /Users/gnodet/work/git/camel/components/camel-spring/target/classes isn't a 
> file.
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:218)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:159)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:151)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:115)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:79)
>     at 
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>  (SingleThreadedBuilder.java:64)
>     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
> (LifecycleStarter.java:131)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:319)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:206)
>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:119)
>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:982)
>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:296)
>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:200)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:62)
>     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:566)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to create 
> assembly: Error adding file 
> 'org.apache.camel:camel-spring:jar:3.7.0-SNAPSHOT' to archive: 
> /Users/gnodet/work/git/camel/components/camel-spring/target/classes isn't a 
> file.
>     at org.apache.maven.plugins.assembly.mojos.AbstractAssemblyMojo.execute 
> (AbstractAssemblyMojo.java:530)
>     at org.apache.maven.plugins.assembly.mojos.SingleAssemblyMojo.execute 
> (SingleAssemblyMojo.java:58)
>     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
> (DefaultBuildPluginManager.java:136)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:213)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:159)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:151)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:115)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:79)
>     at 
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>  (SingleThreadedBuilder.java:64)
>     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
> (LifecycleStarter.java:131)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:319)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:206)
>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:119)
>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:982)
>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:296)
>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:200)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:62)
>     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:566)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: 
> org.apache.maven.plugins.assembly.archive.ArchiveCreationException: Error 
> adding file 'org.apache.camel:camel-spring:jar:3.7.0-SNAPSHOT' to archive: 
> /Users/gnodet/work/git/camel/components/camel-spring/target/classes isn't a 
> file.
>     at org.apache.maven.plugins.assembly.archive.task.AddArtifactTask.asFile 
> (AddArtifactTask.java:180)
>     at org.apache.maven.plugins.assembly.archive.task.AddArtifactTask.execute 
> (AddArtifactTask.java:132)
>     at 
> org.apache.maven.plugins.assembly.archive.task.AddDependencySetsTask.addNormalArtifact
>  (AddDependencySetsTask.java:263)
>     at 
> org.apache.maven.plugins.assembly.archive.task.AddDependencySetsTask.addDependencySet
>  (AddDependencySetsTask.java:175)
>     at 
> org.apache.maven.plugins.assembly.archive.task.AddDependencySetsTask.execute 
> (AddDependencySetsTask.java:120)
>     at 
> org.apache.maven.plugins.assembly.archive.phase.DependencySetAssemblyPhase.execute
>  (DependencySetAssemblyPhase.java:104)
>     at 
> org.apache.maven.plugins.assembly.archive.DefaultAssemblyArchiver.createArchive
>  (DefaultAssemblyArchiver.java:181)
>     at org.apache.maven.plugins.assembly.mojos.AbstractAssemblyMojo.execute 
> (AbstractAssemblyMojo.java:476)
>     at org.apache.maven.plugins.assembly.mojos.SingleAssemblyMojo.execute 
> (SingleAssemblyMojo.java:58)
>     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
> (DefaultBuildPluginManager.java:136)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:213)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:159)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:151)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:115)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:79)
>     at 
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>  (SingleThreadedBuilder.java:64)
>     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
> (LifecycleStarter.java:131)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:319)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:206)
>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:119)
>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:982)
>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:296)
>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:200)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:62)
>     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:566)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> Caused by: org.codehaus.plexus.archiver.ArchiverException: 
> /Users/gnodet/work/git/camel/components/camel-spring/target/classes isn't a 
> file.
>     at org.codehaus.plexus.archiver.AbstractArchiver.addFile 
> (AbstractArchiver.java:448)
>     at org.codehaus.plexus.archiver.AbstractArchiver.addFile 
> (AbstractArchiver.java:375)
>     at 
> org.apache.maven.plugins.assembly.archive.archiver.AssemblyProxyArchiver.addFile
>  (AssemblyProxyArchiver.java:425)
>     at org.apache.maven.plugins.assembly.archive.task.AddArtifactTask.asFile 
> (AddArtifactTask.java:175)
>     at org.apache.maven.plugins.assembly.archive.task.AddArtifactTask.execute 
> (AddArtifactTask.java:132)
>     at 
> org.apache.maven.plugins.assembly.archive.task.AddDependencySetsTask.addNormalArtifact
>  (AddDependencySetsTask.java:263)
>     at 
> org.apache.maven.plugins.assembly.archive.task.AddDependencySetsTask.addDependencySet
>  (AddDependencySetsTask.java:175)
>     at 
> org.apache.maven.plugins.assembly.archive.task.AddDependencySetsTask.execute 
> (AddDependencySetsTask.java:120)
>     at 
> org.apache.maven.plugins.assembly.archive.phase.DependencySetAssemblyPhase.execute
>  (DependencySetAssemblyPhase.java:104)
>     at 
> org.apache.maven.plugins.assembly.archive.DefaultAssemblyArchiver.createArchive
>  (DefaultAssemblyArchiver.java:181)
>     at org.apache.maven.plugins.assembly.mojos.AbstractAssemblyMojo.execute 
> (AbstractAssemblyMojo.java:476)
>     at org.apache.maven.plugins.assembly.mojos.SingleAssemblyMojo.execute 
> (SingleAssemblyMojo.java:58)
>     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
> (DefaultBuildPluginManager.java:136)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:213)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:159)
>     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
> (MojoExecutor.java:151)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:115)
>     at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
> (LifecycleModuleBuilder.java:79)
>     at 
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>  (SingleThreadedBuilder.java:64)
>     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
> (LifecycleStarter.java:131)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:319)
>     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:206)
>     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:119)
>     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:982)
>     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:296)
>     at org.apache.maven.cli.MavenCli.main (MavenCli.java:200)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
> (NativeMethodAccessorImpl.java:62)
>     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
> (DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke (Method.java:566)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
> (Launcher.java:282)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
> (Launcher.java:225)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
> (Launcher.java:406)
>     at org.codehaus.plexus.classworlds.launcher.Launcher.main 
> (Launcher.java:347)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to