2010-01-18 82 views
8

我正在使用Maven Appassembler插件打包我的應用程序。我想用應用程序打包一些配置文件。我找到了configurationDirectoryincludeConfigurationDirectoryInClasspath參數,但我還沒有找到如何創建(並填充)該配置目錄。我試過把這些文件放在src/main/resources,但是這只是把它們放到我的項目的jar文件中。如何使用Maven Appassembler包含配置文件?

什麼是「正確」的方式來做到這一點,使用maven?

回答

7

不幸的是,這是當前版本中的appassembler插件的限制。通常,該插件與程序集插件一起使用以生成最終的工件,您可以在其中包含對您的配置目錄的引用。但是,如果您希望僅通過appassembler插件提供功能結構,則需要手動將文件複製到適當的位置。使用帶有src/main/conf目錄的antrun插件的示例可以在此處找到:​​

+0

非常感謝螞蟻運行:) – 2012-09-01 17:31:12

0

此外,它不會爲不同的平臺生成bin腳本。 maven-assembly-plugin可以創建(package(s){tar.gz,zip})進行分發。這些通過assemble.xml進行配置。您可以指定哪些文件進入(使用哪些選項(chmod))等。它還可以過濾文件(搜索/替換它們中的值)。等等。

1

默認情況下,插件使用目錄src/main/config

可以更改使用參數<configurationSourceDirectory>src/main/config</configurationSourceDirectory>

1

的配置文件來源時,我包括copyConfigurationDirectory屬性,它複製配置文件並妥善捆綁他們。

<configurationDirectory>etc</configurationDirectory> 
    <configurationSourceDirectory>src/main/config</configurationSourceDirectory> 
    <copyConfigurationDirectory>true</copyConfigurationDirectory> 

雖然我有一個不同的問題。我想在複製之前過濾我的配置文件,這給我一些麻煩。

+0

我有同樣的要求,但未能找到解決方案 – Jasonw 2015-08-05 15:13:59

0

年後,在插件的1.10版中,現在有一個preAssembleDirectory配置選項。不幸的是,我不覺得它足夠靈活以滿足我的需求,因爲它直接複製到assembleDirectory中,並且不允許在assembleDirectory中指定目標目錄路徑。

相關問題