【问题标题】:How do I specify a directory prefix on a set of resources in maven's pom.xml如何在 maven 的 pom.xml 中指定一组资源的目录前缀
【发布时间】:2015-08-27 00:33:15
【问题描述】:

我有一组文件要包含在mvn compile 生成的.jar 中。不幸的是,我希望将它们放置在 .jar 内的特定路径中。例如,我希望 shaders/main.glsl 在 .jar 文件中作为 com/purplefrog/expglsl/castle/main.glsl

如何在 pom.xml 中指定此映射?如果不影响其他编码人员的工作流程,我就无法弄乱源项目的目录层次结构。

【问题讨论】:

  • 将课程放入src/main/resources/com/purplefrog/expglsl/castle/main.glsl,它会自动出现。如果这会弄乱其他人听起来你违反了 SRP。

标签: maven


【解决方案1】:

process-resources 阶段,不可编译的文件可以被移动(通过maven-resources-plugin)。你应该做的是在你的 pom.xml 中添加一个resource-block。这里需要指定directory。您也可以添加targetPath。加在一起看起来像

<resource>
  <directory>shaders</directory>
  <!-- include all ore just a couple of files? -- >
  <includes>
    <include>main.glsl</include>
  </includes>
  <targetPath>com/purplefrog/expglsl/castle</targetPath>
</resource> 

现在这些文件被复制到target/classes 并且在package 阶段它们将成为jar 的一部分。

【讨论】:

    【解决方案2】:

    看看Maven Resources Pluginthis question

    如果无法预先修改项目结构,那么听起来应该可以处理您想要做的事情。

    【讨论】:

      猜你喜欢
      • 2020-05-03
      • 2018-03-17
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 2021-09-03
      • 1970-01-01
      • 1970-01-01
      • 2012-12-15
      相关资源
      最近更新 更多