[
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)