2013-03-27 63 views
0

我的maven項目有一個父母POM以及三個孩子POM。 我父POM看起來像這樣Maven資源沒有被複制到jar文件中

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

<groupId>groupID</groupId> 
<artifactId>artifacct</artifactId> 
<version>1.0-SNAPSHOT</version> 
<modules> 
    <module>module1</module> 
    <module>module2</module> 
    <module>module3</module> 
</modules> 
<packaging>pom</packaging> 

<name>name</name> 
<url>http://maven.apache.org</url> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
</properties> 
<repositories> 
    <repository> 
     <id>clojars.org</id> 
     <url>http://clojars.org/repo</url> 
    </repository> 
</repositories> 

<build> 
    <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
     </resource> 
    </resources> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.0</version> 
      <configuration> 
       <source>1.7</source> 
       <target>1.7</target> 
      </configuration> 
     </plugin> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <configuration> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
       <finalName>finalName</finalName> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

但問題是我的資源沒有被添加到該jar文件。這可能是什麼問題?

+0

嘛,你嘗試過什麼? – djechlin 2013-03-27 19:00:07

+0

我試圖使用mvn clean來清理項目,但它沒有奏效。我正在使用mvn程序集:單個來創建我的jar文件。 – Rishabh 2013-03-27 19:07:23

+3

這是不夠的研究努力。你爲什麼期望獲得資源?您遵循了哪些Maven手冊或指南?或者你是否只是輸入了亂碼,並希望事情能夠神奇地工作? – djechlin 2013-03-27 19:15:06

回答

0

你使用maven-dependency-plugin? 像這樣

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-dependency-plugin</artifactId> 
      <version>2.8</version> 
      <executions> 
       <execution> 
        <id>copy-dependencies</id> 
        <phase>prepare-package</phase> 
        <goals> 
         <goal>copy-dependencies</goal> 
        </goals> 
        <configuration> 
         <outputDirectory>${project.build.directory}/lib</outputDirectory> 
         <overWriteReleases>false</overWriteReleases> 
         <overWriteSnapshots>false</overWriteSnapshots> 
         <overWriteIfNewer>true</overWriteIfNewer> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

和包你罐子這樣

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-jar-plugin</artifactId> 
      <version>2.4</version> 
      <configuration> 
       <archive> 
        <manifest> 
         <addClasspath>true</addClasspath> 
         <classpathPrefix>lib/</classpathPrefix> 
         <mainClass>package.class.your.MainClass</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin>