回答
如果你要的文件複製到網絡服務器(局部或遠處),你可以使用Maven上傳插件:
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-upload-plugin</artifactId>
<version>1.1</version>
<configuration>
<resourceSrc>
${project.build.directory}/${project.build.finalName}.${project.packaging}
</resourceSrc>
<resourceDest>${jboss.deployDir}</resourceDest>
<serverId>${jboss.host}</serverId>
<url>${jboss.deployUrl}</url>
</configuration>
</plugin>
而且在一個巧妙的方法來配置參數,我用maven配置文件:
<profiles>
<!-- local deployment -->
<profile>
<id>developpement</id>
<properties>
<jboss.host>localhost</jboss.host>
<jboss.deployDir>appli/jboss-4.0.4.GA/server/default/deploy/</jboss.deployDir>
<jboss.deployUrl>file://C:/</jboss.deployUrl>
</properties>
</profile>
<!-- distant deployment -->
<profile>
<id>validation</id>
<properties>
<jboss.host>ENV_val</jboss.host>
<jboss.deployDir>/home/envval/jboss/server/default/deploy/</jboss.deployDir>
<jboss.deployUrl>scp://PROJECT_LAN_HOST</jboss.deployUrl>
</properties>
</profile>
</profiles>
我創建了一個 「螞蟻發射」,由下Eclipse的Ant視圖點擊使用它:
<target name="copy war to JBoss local" description="Copy war to local JBoss">
<maven goal="upload:upload" options="-Pdeveloppement" />
</target>
但你完全可以在命令行中運行:
mvn upload:upload -Pdeveloppement
順便說一句,對於遙遠的部署,您可能需要爲SCP工作登錄密碼。你必須將它們添加到您的Maven settings.xml文件:
<settings>
...
<servers>
<server>
<id>ENV_val</id>
<username>login</username>
<password>password</password>
</server>
</servers>
...
</settings>
這相當於到JBoss,Maven插件 – Tristan
最好的方法是使用一個實際部署你的應用程序的插件,如cargo或jboss-maven plugin(授予@Andreas_D那個)。
這是使用複製或通用上傳工具的更好方法,因爲部署是您實際嘗試執行的操作。
使用貨物插件,您可以選擇deploy to a variety of running servers。我們採用這種方法在構建期間使用jetty plugin在碼頭本地進行測試,並通過貨物按需部署到tomcat。
注意:如果您的目標服務器(JBOSS)本地安裝在開發箱上,那麼您也可以在構建過程中使用貨物來啓動/停止服務器。這種方法的缺點是你需要它在pom文件中引用它的位置,所以所有的開發人員都會將它安裝在相同的位置或者定義它所在位置的系統屬性(類似於JAVA_HOME)。
的硬部署目標,我downvoted這個答案,因爲它沒有回答的OP,這是如何複製文物的具體問題。 OP沒有要求替代品。 –
根據http://maven.apache.org/plugins/maven-dependency-plugin/examples/copying-artifacts.html可以在剛建神器複製到指定目錄:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>copy-installed</id>
<phase>install</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${project.version}</version>
<type>${project.packaging}</type>
</artifactItem>
</artifactItems>
<outputDirectory>some-other-place</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
- 1. Maven無法將工件複製到工作目錄
- 2. 使用maven程序集插件,如何將工件複製到目錄?
- 3. 將maven項目的依賴項複製到特定文件夾
- 4. 如何使用Maven將資源複製到src目標目錄?
- 5. 未將特定文件複製到artifactstaging目錄
- 6. 如何讓jenkins將工件複製到動態目錄中?
- 7. 告訴maven從maven-repo以外的目錄複製工件
- 8. 將特定文件批量複製到所有目錄和子目錄
- 9. 我們如何將整個目錄複製到maven中的另一個目錄?
- 10. 如何將文件從目錄複製到iphone文檔目錄
- 11. 如何讓Visual Studio將特定文件複製到發佈目錄?
- 12. 如何將整個目錄複製到perl腳本中的特定文件夾
- 13. 如何將build目錄從build目錄複製到父目錄?
- 14. 如何將單個maven依賴項的jar文件複製到dest目錄中?
- 15. Maven:使用exec插件複製目錄
- 16. Maven:複製無文件目錄結構
- 17. maven-war-plugin將覆蓋目錄複製到最終制品
- 18. 如何使用Maven Pom將jar文件下載到特定目錄?
- 19. 如何將Maven項目中的特定文件打包到戰爭中的特定目錄?
- 20. 如何創建將特定文件從一個目錄複製到另一個目錄的程序?
- 21. CMake:如何僅將特定文件擴展名從一個目錄複製到另一個目錄
- 22. 將文件複製到目錄
- 23. 將文件複製到當前目錄
- 24. CakePHP將文件複製到新目錄
- 25. 將文件複製到其他目錄
- 26. 將文件複製到隨機目錄?
- 27. 將文件列表複製到目錄
- 28. 將文件複製到子目錄
- 29. 將文件複製到其他目錄
- 30. 將文件列表複製到目錄
對於JBoss有沒有必要*文件複製到部署目錄* - 有一個[特別Maven插件(HTTP:/ /mojo.codehaus.org/jboss-maven-plugin/deploy-mojo.html)。 –
然而,jboss「特殊的maven插件」的可靠性有點令人質疑。 –