【问题标题】:Add jar file to Maven Reactor modules list将 jar 文件添加到 Maven Reactor 模块列表
【发布时间】:2012-09-13 11:20:12
【问题描述】:

我有 3 个模块(模块 A、模块 B、模块 C)。我将 ModuleC 提取为一个独立的 jar(其中包含 db 脚本)。

在 pom.xml 中,我正在尝试执行以下操作,

<project ...>
......
<modules>
 <module>ModuleA</module>
 <module>ModuleB</module>
</modules>
....
</project>

如何在反应器中包含该 JAR 模块 (ModuleC),以便它像普通模块一样构建。如果我将其添加为依赖项,在配置文件调用期间将如何执行其中的脚本?

除了上面我还有如下图的配置文件,

<profile>
  <id>runScript</id>

  <modules>
    <module>parent/child/ModuleA</module>
    <module>parent/child/ModuleB</module>
  </modules>
</profile>

我需要将 ModuleC (JAR) 添加到此配置文件中。以便在调用配置文件时执行它。

有什么想法吗?

【问题讨论】:

  • 尝试改写问题。另外,“如何在反应器中包含该 JAR 模块?”是什么意思? 为什么不能将第三方 JAR 添加为依赖项?
  • 改写了,请看看这是否有意义......它也不是我试图使用的第三方 JAR。它是我在 Git 中作为独立组件制作的项目模块。

标签: maven maven-reactor


【解决方案1】:

我想知道,你想通过添加一个 jar 作为依赖项来实现什么? maven 构建用于创建 jar、war 等可执行文件。如果您已经有一个 .jar ,则将其添加到模块中的使用较少。我建议在特定项目的 pom 中添加 .jar 作为依赖项。

&lt;modules&gt;标签中,只能添加maven项目,不能直接添加jar。 依赖关系毕竟只是为了这个目的。 悬停,如果你还想做,把它作为依赖添加到主项目中。

<project ...>
......
<modules>
 <module>ModuleA</module>
 <module>ModuleB</module>
</modules>
....
<dependencies>      
        <dependency>
            <groupId>{groupId}</groupId>
            <artifactId>{artifactId}</artifactId>
            <version>{version}</version>
            <type>jar</type>
            <scope>{scope}</scope>
        </dependency>
</dependencies>
</project>

【讨论】:

  • 我拥有的是 ModuleC 中的一个数据库脚本,当我调用“集成”或“runScript”配置文件时需要执行该脚本。依赖会帮助解决这个问题吗?
  • 你有 ModuleC 作为 maven 项目或 .jar?
  • Doshi:如前所述,我在该 JAR 中有 db 脚本,当我调用特定配置文件时需要执行这些脚本。尽管我并不热衷于将其添加为模块,但我只是假设将其作为模块提供会有所帮助,而且我知道它不会有帮助。还有其他方法可以实现吗?
  • 它是一个 Maven 项目,我从中得到的工件是一个 .jar。
  • 当你使用 maven 构建时,它只会编译你所有的 java 和其他文件并创建一个 jar。它就像执行 javac 命令只会生成类文件。据我所知,要运行脚本,您需要显式运行 jar 文件。希望这会有所帮助。
猜你喜欢
  • 1970-01-01
  • 2014-07-22
  • 1970-01-01
  • 1970-01-01
  • 2011-05-07
  • 2018-03-15
  • 2015-09-27
  • 1970-01-01
相关资源
最近更新 更多