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 > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > >