2015-07-01 60 views
0

我想幾個jar文件從WEB-INF複製/ lib目錄文件夾的src /主/ web應用/小程序文件夾裏面全是爲小程序所需的 存檔,以便jar文件出現在輸出war文件中。複製jar文件Maven項目

我想這個複製操作需要行家期間要執行build.Already我嘗試了兩種選項之一與

Maven的戰爭插件它下面去。

<webResources> 
    <resource>  
     <directory>src/main/webapp/WEB-INF/lib</directory> 
     <filtering>true</filtering> 
     <includes> 
      <include>**/*.jar</include> 
     </includes> 
     <targetPath>${basedir}/src/main/webapp/applet</targetPath> 
    </resource> 
</webResources> 

和構建的痕跡在下面。

[INFO] --- maven-war-plugin:2.6:war (default-war) @ myapp --- 
[INFO] Packaging webapp 
[INFO] Assembling webapp [myapp] in [C:\jboss_projects\myapp\src\main\webapp] 
[INFO] Processing war project 
[INFO] Copying webapp webResources [C:\jboss_projects\myapp\src/main/webapp/WEB-INF/lib] to [C:\jboss_projects\myapp\src\main\webapp] 
[INFO] Webapp assembled in [999 msecs] 
[INFO] Building war: C:\jboss_projects\myapp\target\myapp.war 

下一個嘗試是Maven的資源 - 插件它下面去。

<plugin> 
    <artifactId>maven-resources-plugin</artifactId> 
    <version>2.6</version> 
    <executions> 
     <execution> 
      <id>copy-resources</id> 
      <phase>validate</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${basedir}/src/main/webapp/applet</outputDirectory> 
       <overwrite>true</overwrite> 
       <resources> 
        <resource> 
         <directory>src/main/webapp/WEB-INF/lib</directory> 
         <filtering>true</filtering> 
         <includes> 
          <include>**/*.jar</include> 
         </includes> 
        </resource> 
       </resources> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

注意:在這兩項試驗中,我發現裏面的webapp 創建,同時更新項目中的小應用程序文件夾,但生成過程中文件夾不是 修改/創建。

任何意見將不勝感激。請不要將此標記爲重複每個參考我看着幫助如何從源文件複製到web-inf/lib文件夾。 不是這個。

+0

我想你應該複製到輸出(目標)文件夾,而不是源文件夾。 –

+0

@jeroen_de_schutter哪一個我應該試試這個? war插件還是資源插件?另外,當封裝.war時,它只會查看src/main/webapp。它會查看目標文件夾嗎? – karthik

+1

我會選擇第三個選項:使用依賴插件:https://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html和複製目標。然後將其綁定到包裝階段。 複製jar文件時,您需要小心打開過濾,它們可能會損壞。過濾不會過濾複製的文件,它會過濾其內容。 – wemu

回答

2

wemu建議工作。這是如何配置從本地回購得到依賴jars。

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <version>${maven-dependency-plugin.version}</version> 
    <executions> 
     <execution> 
      <id>applet-dependencies</id> 
      <phase>prepare-package</phase> 
      <goals> 
       <goal>copy</goal> 
      </goals> 
      <configuration> 
       <artifactItems>         
        <artifactItem> 
         <groupId>com.xxx.yyy</groupId> 
         <artifactId>yyy</artifactId> 
         <version>1.0</version> 
         <type>jar</type> 
         <overWrite>true</overWrite> 
         <outputDirectory>${basedir}/src/main/webapp/applet</outputDirectory> 
         <destFileName>yyy.jar</destFileName> 
        </artifactItem> 
       </artifactItems> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 
0

檢查下面的ant任務是否適合你?

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <version>1.7</version> 
      <executions> 
       <execution> 
        <id>move-applet-jar-files</id> 
        <phase>prepare-package</phase> 
        <goals> 
         <goal>run</goal> 
        </goals> 
        <configuration> 
         <target name="Copying jar files for applets"> 
          <echo message="your jar file to be copied" /> 
          <copy file="${source.dir}/abc.jar" tofile="${target.dir}/abc.jar" /> 
         </target> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
+0

讓我試試這個。 – karthik

相關問題