【问题标题】:Referencing parent Maven project's files from sub Maven project's pom.xml从子 Maven 项目的 pom.xml 引用父 Maven 项目的文件
【发布时间】:2016-01-13 18:47:07
【问题描述】:

我的项目中有这个文件结构:

父项目
|--pom.xml
|--子项目
|----pom.xml
|----src/
|--------主要/
|--------java/
|---------包和类
|--Web文件夹/
|----前台/
|--------html页面和JS文件

从子项目的 pom.xml 中,我想将 WebFolder 作为资源包含在内。我想使用子项目的 pom.xml 创建一个 JAR 文件,并且我希望它包含 WebFolder。

子项目有一个 http-server 需要托管 WebFolder。从子项目中,我可以轻松地将路径引用为 WebFolder/front 以使其指向我要显示的网页,但它也需要包含在 JAR 文件中。

我遇到的问题是 Maven。从我所见,我应该能够使用来自子项目的 pom.xml 的资源创建我想要的东西,如下所示:

<resources>
  <resource>
    <directory>???/WebFolder/</directory>
  </resource>
</resources>

问题是,我不知道如何引用子项目之外的东西。目录标签似乎只引用子项目内的文件。有没有办法让目录指向 WebFolder?

我已经在使用 maven-assembly-plugin 将所有依赖项包含在单个 JAR 文件中,但由于 WebFolder 本身与 Maven 无关,我需要通过其他方式包含它。

【问题讨论】:

  • 为什么你还需要一个 jar 中的 WebFolder?
  • 实际项目比这个复杂很多,不过我也打算在网站上集成grunt任务。我的想法是我可以轻松地将所有内容整齐地打包在一个 JAR 文件中。
  • 然后查看 EAR 文件。

标签: java xml eclipse maven


【解决方案1】:

Maven 文件和目录是相对于你的 pom.xml 的目录。
在您的示例中,子项目的 pom.xml 可以将其兄弟 WebFolder 目录引用为:&lt;directory&gt;../WebFolder&lt;/directory&gt;

在某些情况下,相对引用不起作用。在这种情况下,您可以通过${basedir} 访问项目目录

【讨论】:

    猜你喜欢
    • 2011-03-13
    • 2013-10-16
    • 1970-01-01
    • 2014-02-06
    • 2019-02-15
    • 2014-01-09
    • 2018-10-02
    • 2017-04-08
    • 1970-01-01
    相关资源
    最近更新 更多