On 03/10/2016 10:10 PM, Mark Eggers wrote:
David,

Are you perhaps running this inside Eclipse?

If so, do you have the m2e-connector for maven-dependency-plugin installed?

Can you run mvn package from the command line if you're only packaging
this from Eclipse?

I have run my project from Eclipse Mars.1, but I have the m2e-connector
installed. Copying and packaging work as expected.

I've resolved this problem. Setting the phase to "process-resources" does it properly, at the right time.


. . . just my two cents
/mde/

On 3/10/2016 9:05 PM, David Karr wrote:
Ok. Could you remove the jars and then run it again?

On Thu, Mar 10, 2016, 20:58 Uwe Barthel <bart...@x-reizend.de> wrote:

Hi David,

I use your pom.xml (but removed parent and org.opendaylight dependencies)
and it works well with:

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5;
2015-11-10T17:41:47+01:00)
Maven home: /usr/local/Cellar/maven/3.3.9/libexec
Java version: 1.8.0_31, vendor: Oracle Corporation
Java home:
/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.3", arch: "x86_64", family: “mac"

$ ls -1 libs/
antlr4-runtime-4.0.jar
mapdb-1.0.4.jar

--
bart...@x-reizend.de


On 11 Mar 2016, at 01:03, David M. Karr <davidmichaelk...@gmail.com>
wrote:
On 03/10/2016 03:54 PM, Mark Eggers wrote:
David,

I just upgraded to 3.3.9, and ran the following on one of my projects
(twice):

mvn clean package

In both cases the JAR files were copied to my output directory and
included in both the zip and tar.gz files.

I guess a little more information is needed??
Ok.  Following this is the entire pom.xml file in question.  Two of the
artifacts aren't on MavenCentral, but the example could easily be
simplified to not specify those.
------------------------------
<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>com.cisco.yangide</groupId>
    <artifactId>com.cisco.yangide.parent</artifactId>
    <version>1.1.1-SNAPSHOT</version>
    <relativePath>../..</relativePath>
  </parent>

  <artifactId>com.cisco.yangide.core</artifactId>
  <packaging>eclipse-plugin</packaging>
  <version>1.1.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-clean-plugin</artifactId>
            <configuration>
                <filesets>
                    <fileset>
                        <directory>libs</directory>
                    </fileset>
                </filesets>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
            <version>2.10</version>
            <executions>
                <execution>
                    <id>copy</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>copy</goal>
                    </goals>
                    <configuration>
<outputDirectory>libs</outputDirectory>
                        <artifactItems>
                            <artifactItem>
<groupId>org.antlr</groupId>
<artifactId>antlr4-runtime</artifactId>
                                <version>4.0</version>
                                <type>jar</type>
<overWrite>true</overWrite>
<destFileName>antlr4-runtime-4.0.jar</destFileName>
                            </artifactItem>
                            <artifactItem>
<groupId>org.mapdb</groupId>
<artifactId>mapdb</artifactId>
                                <version>1.0.4</version>
                                <type>jar</type>
<overWrite>true</overWrite>
<destFileName>mapdb-1.0.4.jar</destFileName>
                            </artifactItem>
                            <artifactItem>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-model-api</artifactId>
                                <version>0.6.1</version>
                                <type>jar</type>
<overWrite>true</overWrite>
<destFileName>yang-model-api-0.6.1.jar</destFileName>
                            </artifactItem>
                            <artifactItem>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-parser-impl</artifactId>
                                <version>0.6.1</version>
                                <type>jar</type>
<overWrite>true</overWrite>
<destFileName>yang-parser-impl-0.6.1.jar</destFileName>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
  </build>
</project>
----------------------
. . . just my two cents
/mde/

On 3/10/2016 3:44 PM, David M. Karr wrote:
On 03/10/2016 03:36 PM, Mark Eggers wrote:
David,

If you're providing a list of dependencies, then yes you'll use the
copy
instead of copy-dependencies.

See the following for that information:

https://maven.apache.org/plugins/maven-dependency-plugin/index.html

Also, I notice that you don't have outputDirectory specified. If you
don't, the dependencies will be copied to
${project.build.directory}/dependency.
Actually, I was specifying that individually on each artifactItem, but
it's definitely an improvement to only specify that once.  In any case,
it still makes no difference.  It's not writing the artifacts, whether
I
use "copy" or "copy-dependencies", or whether I say to write them to
"libs" or "${project.build.directory}/libs". It ("copy", to be
specific)
did it the first time I ran this, but never since then.

I'm using Maven 3.3.9, with JDK 1.8.0_60.

See the following for that information:


https://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html
. . . just my two cents
/mde/

On 3/10/2016 3:22 PM, David M. Karr wrote:
Thanks, but replacing my "manual" copy goal with "copy-dependencies"
and
implicit dependency declarations made no difference.  No error at
this
phase, it just doesn't do anything.

On 03/10/2016 02:57 PM, Mark Eggers wrote:
David,

On 3/10/2016 2:31 PM, David M. Karr wrote:
Several days ago, on the advice of someone on another list, I
configured
the use of the "maven-dependency-plugin" in my POM so that the
build
would copy some dependencies into a local folder, not inside the
target
folder.

This worked the very first time I ran the build with it, and I've
been
using the results for a while.

Today I started to look at this again, to ensure that these copied
artifacts would be properly cleaned up from "mvn clean".  I first
tried
reconfiguring where it wrote the jars, changing it from "libs" to
"target/libs".  For some reason, when I ran the build, it didn't
create
"target/libs", nor did it copy the jars.  At that point, I thought
there
was some issue with writing them into a subfolder of "target".

I then changed it back to "libs", but I implemented additional
"maven-clean-plugin" configuration to make it delete that folder.
When I
ran "mvn clean", it did what I expected, removing that folder,
along
with "target".

However, when I then tried to build the whole thing again, I found
that
it wasn't creating the "libs" folder, and it wasn't copying the
jars
there.  I then tried manually creating "libs", but that didn't
help.  I
tried adding "--debug", which didn't tell me anything useful.  I
imagine
the same thing that is making it not copy the jars into "libs" is
the
same thing that prevented it writing them into "target/libs", so
there
likely wasn't a real issue with using a subfolder of "target", but
something else is just preventing it from copying the jars.

This is what I have in the POM for this plugin (eliding the
details of
each artifact):
-----------------
           <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
               <version>2.10</version>
               <executions>
                   <execution>
                       <id>copy</id>
                       <phase>package</phase>
                       <goals>
                           <goal>copy</goal>
                       </goals>
                       <configuration>
                           <artifactItems>
                               <artifactItem>
                               ...
                               </artifactItem>
                               <artifactItem>
                               ...
                               </artifactItem>
                               <artifactItem>
                               ...
                               </artifactItem>
                               <artifactItem>
                               ...
                               </artifactItem>
                           </artifactItems>
                       </configuration>
                   </execution>
               </executions>
           </plugin>
-------------------
My copy looks like this:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.10</version>
    <executions>
     <execution>
      <phase>prepare-package</phase>
      <goals>
       <goal>copy-dependencies</goal>
      </goals>
      <configuration>

  <outputDirectory>${project.build.directory}/lib</outputDirectory>
       <includeScope>compile</includeScope>
      </configuration>
     </execution>
    </executions>
</plugin>

I'm currently running 3.3.3 and JDK 1.8.0_74. I need to upgrade my
Maven.

This works as expected, with dependencies getting copied to
target/lib.
I have this in my JAR plugin:

<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>

along with specifying the main class.

I create both a zip and a tar.gz file with the assembly plugin.

An end user just unpacks the archive, changes to the directory where
the
archive was unpacked, and runs java -jar ${artifactId}.jar.

Seems to work reasonably well.

. . . just my two cents
/mde/



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to