You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Steve Francolla <sf...@gmail.com> on 2010/10/11 20:52:04 UTC

Is dependency:copy-dependencies config property broken?

Help!  My dependencies only ever get written to the default
${basedir}/target/dependency dir.

Usage:
mvn dependency:copy-dependencies

Pom.xml segment:
---------
  <profiles>
    <profile>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>copy-dependencies</id>
                <phase>package</phase>
                <goals>
                  <goal>copy-dependencies</goal>
                </goals>
                <configuration>

<outputDirectory>${basedir}/war/WEB-INF/lib/</outputDirectory>
                  <overWriteReleases>false</overWriteReleases>
                  <overWriteSnapshots>false</overWriteSnapshots>
                  <overWriteIfNewer>true</overWriteIfNewer>
                  <excludeArtifactIds>gwt-user,gwt-dev</excludeArtifactIds>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
---------


Thanks.


SF

Re: Is dependency:copy-dependencies config property broken?

Posted by Steve Francolla <sf...@gmail.com>.
Anders --

That did it.  Thanks very much.

Solution summary:
- remove plugin from life-cycle,
- apply execution id "default-cli"
- contain plugin def by promoting it to build.pluginManagement element.

Working segment:
----------
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-dependency-plugin</artifactId>
          <executions>
            <execution>
              <id>default-cli</id>
              <goals>
                <goal>copy-dependencies</goal>
              </goals>
              <configuration>

<outputDirectory>${basedir}/war/WEB-INF/lib/</outputDirectory>
                <overWriteReleases>false</overWriteReleases>
                <overWriteSnapshots>false</overWriteSnapshots>
                <overWriteIfNewer>true</overWriteIfNewer>
                <excludeArtifactIds>gwt-user,gwt-dev</excludeArtifactIds>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      ...
    </plugins>
  </build>
----------

Cheers.


SF


On Mon, Oct 11, 2010 at 4:06 PM, Anders Hammar <an...@hammar.net> wrote:

> The problem is that the configuration you have is written within the
> execution. That execution is NOT for your CLI usage.
>
> You have two options:
> 1. You need to use the somewhat magic id of "default-cli":
> http://maven.apache.org/guides/mini/guide-default-execution-ids.html
> 2. Move the configuration stuff outside of execution.
>
> Btw, I strongly recommend that you put this plugin stuff within the
> pluginManagement section instead as it is not to be bound to the lifecycle.
>
> /Anders
>
> On Mon, Oct 11, 2010 at 22:01, Steve Francolla <sf...@gmail.com>
> wrote:
>
> > I actually want to run it outside the lifecycle.  I've removed the
> <phase>
> > binding and run it with the same usage.  It runs but the output gets
> > written
> > to the default ${basedir}/target/dependency dir instead of the
> > outputDirectory I've overridden it with in the configuration.  Seems
> > clearly
> > broken there, unless I'm missing something.  Ideas?
> >
> > Thanks again.
> >
> >
> >
> >
> > On Mon, Oct 11, 2010 at 3:42 PM, Vincent Latombe
> > <vi...@gmail.com>wrote:
> >
> > > Hi,
> > >
> > > Your execution is attached to the lifecycle. You'll get the expected
> > > behaviour if you type mvn package, not by calling directly the mojo
> from
> > > command line.
> > >
> > > 2010/10/11 Steve Francolla <sf...@gmail.com>
> > >
> > > > Help!  My dependencies only ever get written to the default
> > > > ${basedir}/target/dependency dir.
> > > >
> > > > Usage:
> > > > mvn dependency:copy-dependencies
> > > >
> > > > Pom.xml segment:
> > > > ---------
> > > >  <profiles>
> > > >    <profile>
> > > >      <build>
> > > >        <plugins>
> > > >          <plugin>
> > > >            <groupId>org.apache.maven.plugins</groupId>
> > > >            <artifactId>maven-dependency-plugin</artifactId>
> > > >            <executions>
> > > >              <execution>
> > > >                <id>copy-dependencies</id>
> > > >                <phase>package</phase>
> > > >                <goals>
> > > >                  <goal>copy-dependencies</goal>
> > > >                </goals>
> > > >                <configuration>
> > > >
> > > > <outputDirectory>${basedir}/war/WEB-INF/lib/</outputDirectory>
> > > >                  <overWriteReleases>false</overWriteReleases>
> > > >                  <overWriteSnapshots>false</overWriteSnapshots>
> > > >                  <overWriteIfNewer>true</overWriteIfNewer>
> > > >
> > >  <excludeArtifactIds>gwt-user,gwt-dev</excludeArtifactIds>
> > > >                </configuration>
> > > >              </execution>
> > > >            </executions>
> > > >          </plugin>
> > > >        </plugins>
> > > >      </build>
> > > >    </profile>
> > > >  </profiles>
> > > > ---------
> > > >
> > > >
> > > > Thanks.
> > > >
> > > >
> > > > SF
> > > >
> > >
> > >
> > >
> > > --
> > > Vincent
> > >
> >
>

Re: Is dependency:copy-dependencies config property broken?

Posted by Anders Hammar <an...@hammar.net>.
The problem is that the configuration you have is written within the
execution. That execution is NOT for your CLI usage.

You have two options:
1. You need to use the somewhat magic id of "default-cli":
http://maven.apache.org/guides/mini/guide-default-execution-ids.html
2. Move the configuration stuff outside of execution.

Btw, I strongly recommend that you put this plugin stuff within the
pluginManagement section instead as it is not to be bound to the lifecycle.

/Anders

On Mon, Oct 11, 2010 at 22:01, Steve Francolla <sf...@gmail.com> wrote:

> I actually want to run it outside the lifecycle.  I've removed the <phase>
> binding and run it with the same usage.  It runs but the output gets
> written
> to the default ${basedir}/target/dependency dir instead of the
> outputDirectory I've overridden it with in the configuration.  Seems
> clearly
> broken there, unless I'm missing something.  Ideas?
>
> Thanks again.
>
>
>
>
> On Mon, Oct 11, 2010 at 3:42 PM, Vincent Latombe
> <vi...@gmail.com>wrote:
>
> > Hi,
> >
> > Your execution is attached to the lifecycle. You'll get the expected
> > behaviour if you type mvn package, not by calling directly the mojo from
> > command line.
> >
> > 2010/10/11 Steve Francolla <sf...@gmail.com>
> >
> > > Help!  My dependencies only ever get written to the default
> > > ${basedir}/target/dependency dir.
> > >
> > > Usage:
> > > mvn dependency:copy-dependencies
> > >
> > > Pom.xml segment:
> > > ---------
> > >  <profiles>
> > >    <profile>
> > >      <build>
> > >        <plugins>
> > >          <plugin>
> > >            <groupId>org.apache.maven.plugins</groupId>
> > >            <artifactId>maven-dependency-plugin</artifactId>
> > >            <executions>
> > >              <execution>
> > >                <id>copy-dependencies</id>
> > >                <phase>package</phase>
> > >                <goals>
> > >                  <goal>copy-dependencies</goal>
> > >                </goals>
> > >                <configuration>
> > >
> > > <outputDirectory>${basedir}/war/WEB-INF/lib/</outputDirectory>
> > >                  <overWriteReleases>false</overWriteReleases>
> > >                  <overWriteSnapshots>false</overWriteSnapshots>
> > >                  <overWriteIfNewer>true</overWriteIfNewer>
> > >
> >  <excludeArtifactIds>gwt-user,gwt-dev</excludeArtifactIds>
> > >                </configuration>
> > >              </execution>
> > >            </executions>
> > >          </plugin>
> > >        </plugins>
> > >      </build>
> > >    </profile>
> > >  </profiles>
> > > ---------
> > >
> > >
> > > Thanks.
> > >
> > >
> > > SF
> > >
> >
> >
> >
> > --
> > Vincent
> >
>

Re: Is dependency:copy-dependencies config property broken?

Posted by Steve Francolla <sf...@gmail.com>.
I actually want to run it outside the lifecycle.  I've removed the <phase>
binding and run it with the same usage.  It runs but the output gets written
to the default ${basedir}/target/dependency dir instead of the
outputDirectory I've overridden it with in the configuration.  Seems clearly
broken there, unless I'm missing something.  Ideas?

Thanks again.




On Mon, Oct 11, 2010 at 3:42 PM, Vincent Latombe
<vi...@gmail.com>wrote:

> Hi,
>
> Your execution is attached to the lifecycle. You'll get the expected
> behaviour if you type mvn package, not by calling directly the mojo from
> command line.
>
> 2010/10/11 Steve Francolla <sf...@gmail.com>
>
> > Help!  My dependencies only ever get written to the default
> > ${basedir}/target/dependency dir.
> >
> > Usage:
> > mvn dependency:copy-dependencies
> >
> > Pom.xml segment:
> > ---------
> >  <profiles>
> >    <profile>
> >      <build>
> >        <plugins>
> >          <plugin>
> >            <groupId>org.apache.maven.plugins</groupId>
> >            <artifactId>maven-dependency-plugin</artifactId>
> >            <executions>
> >              <execution>
> >                <id>copy-dependencies</id>
> >                <phase>package</phase>
> >                <goals>
> >                  <goal>copy-dependencies</goal>
> >                </goals>
> >                <configuration>
> >
> > <outputDirectory>${basedir}/war/WEB-INF/lib/</outputDirectory>
> >                  <overWriteReleases>false</overWriteReleases>
> >                  <overWriteSnapshots>false</overWriteSnapshots>
> >                  <overWriteIfNewer>true</overWriteIfNewer>
> >
>  <excludeArtifactIds>gwt-user,gwt-dev</excludeArtifactIds>
> >                </configuration>
> >              </execution>
> >            </executions>
> >          </plugin>
> >        </plugins>
> >      </build>
> >    </profile>
> >  </profiles>
> > ---------
> >
> >
> > Thanks.
> >
> >
> > SF
> >
>
>
>
> --
> Vincent
>

Re: Is dependency:copy-dependencies config property broken?

Posted by Vincent Latombe <vi...@gmail.com>.
Hi,

Your execution is attached to the lifecycle. You'll get the expected
behaviour if you type mvn package, not by calling directly the mojo from
command line.

2010/10/11 Steve Francolla <sf...@gmail.com>

> Help!  My dependencies only ever get written to the default
> ${basedir}/target/dependency dir.
>
> Usage:
> mvn dependency:copy-dependencies
>
> Pom.xml segment:
> ---------
>  <profiles>
>    <profile>
>      <build>
>        <plugins>
>          <plugin>
>            <groupId>org.apache.maven.plugins</groupId>
>            <artifactId>maven-dependency-plugin</artifactId>
>            <executions>
>              <execution>
>                <id>copy-dependencies</id>
>                <phase>package</phase>
>                <goals>
>                  <goal>copy-dependencies</goal>
>                </goals>
>                <configuration>
>
> <outputDirectory>${basedir}/war/WEB-INF/lib/</outputDirectory>
>                  <overWriteReleases>false</overWriteReleases>
>                  <overWriteSnapshots>false</overWriteSnapshots>
>                  <overWriteIfNewer>true</overWriteIfNewer>
>                  <excludeArtifactIds>gwt-user,gwt-dev</excludeArtifactIds>
>                </configuration>
>              </execution>
>            </executions>
>          </plugin>
>        </plugins>
>      </build>
>    </profile>
>  </profiles>
> ---------
>
>
> Thanks.
>
>
> SF
>



-- 
Vincent