9

我正在使用Maven Appassembler插件来打包我的应用程序。我想在应用程序中打包一些配置文件。我找到了configurationDirectoryandincludeConfigurationDirectoryInClasspath参数,但我还没有找到应该如何创建(和填充)该配置目录。我已经尝试将文件放入 中src/main/resources,但这只是将它们放入我项目的 jar 文件中。

使用 Maven 的“正确”方法是什么?

4

5 回答 5

6

不幸的是,这是当前发行版本中 appassembler 插件的限制。通常,该插件与程序集插件一起使用以生成最终工件,您可以在其中包含对配置目录的引用。但是,如果您只想从 appassembler 插件中获得功能结构,则需要手动将文件复制到位。src/main/conf可以在此处找到使用带有目录的 antrun 插件的示例:http: //svn.apache.org/viewvc/archiva/trunk/archiva-jetty/

于 2010-01-18T20:57:11.373 回答
2

默认情况下,插件使用目录src/main/config

可以使用参数更改配置文件的来源<configurationSourceDirectory>src/main/config</configurationSourceDirectory>

于 2011-01-03T18:37:15.963 回答
1

当我包含 copyConfigurationDirectory 属性时,它会复制配置文件并正确捆绑它们。

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

我有一个不同的问题。我想在复制之前过滤我的配置文件,这给我带来了一些麻烦。

于 2011-01-15T04:02:48.163 回答
0

除此之外,不会为不同平台生成 bin 脚本。maven-assembly-plugin可以创建( package(s) {tar.gz, zip}) 用于分发。这些是通过 assemble.xml 配置的。您指定进入哪些文件(使用哪些选项(chmod))等。它还可以过滤文件(搜索/替换其中的值)。等等

于 2010-02-15T19:41:54.930 回答
0

多年后,在插件的 1.10 版中,现在有一个 preAssembleDirectory 配置选项。不幸的是,我发现它对我的需要不够灵活,因为它直接复制到 assembleDirectory 中,并且不允许在 assembleDirectory 中指定目标目录路径。

于 2017-04-05T13:14:12.397 回答