I tried: 'mvn clean' removes the lib/ and target/ folder. 'mvn package' puts the libs into lib/ again.
I delete all libs in lib/ folder but let the lib/ folder itself and the target folder untouched. ‘mvn package’ works as expected. -- bart...@x-reizend.de > On 11 Mar 2016, at 06:05, David Karr <davidmichaelk...@gmail.com> 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 >> >> >> --------------------------------------------------------------------- >> 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