【问题标题】:Maven stand alone jars with shared code dependenciesMaven 具有共享代码依赖项的独立 jars
【发布时间】:2017-04-07 13:50:57
【问题描述】:

我刚刚开始学习 Maven,所以可能有些菜鸟问题。我已经找到了我的难题的各个部分,但还没有找到关于如何实现以下目标的清晰文档。

我有一些通用的 Java 代码,我想在两个 Java 应用程序之间共享它们。我已经使用 maven 模块进行了如下设置:

Root Dir
    pom.xml
    shared_code
       pom.xml
       src
           ...
    app1
       pom.xml
       src
           ...
    app2
       pom.xml
       src
           ...

dir中的pom.xml文件比较简单,主要由

<packaging>pom</packaging>
  <modules>
  <module>shared_code</module>
  <module>app1</module>
  <module>app2</module>
</modules>

shared_code 子文件夹中的pom.xml 只是使用maven-compiler-plugin&lt;packaging&gt;jar&lt;/packaging&gt; 来创建一个jar 文件。

app 子文件夹中的pom.xmls 使用

maven-compiler-plugin
maven-jar-plugin
maven-dependency-plugin

并将shared_code 模块标记为依赖项。

这行得通,但我未能实现某些目标。首先,我的资源一团糟。我无法从 shared_code 获取资源以自动提供给apps。其次,这会为每个app 创建一个jar 文件,其中仅包含app 的类。在一个子文件夹中(在生成的 target 文件夹中)我得到所有依赖 jar,包括 shared_code 一个。

有人可以解释一下如何实现以下目标

  1. 来自shared_code 的资源会自动部署并提供给apps。对于奖励积分,apps 能否以某种方式覆盖资源?
  2. 如何创建单个 jar 文件,而不是创建一个包含完整依赖项的子文件夹的 jar?
  3. 如何创建可执行文件而不是 jar?

对于其他奖励积分,请随时告诉我我正在以非规范的方式解决问题并完全纠正我。

【问题讨论】:

  • 希望在您的 shread_code 中放入什么样的资源?属性文件?
  • 现在只是配置文件。

标签: java maven jar dependencies


【解决方案1】:

这应该会给您一些关于如何实现目标的提示。解释答案中的所有内容会引发我认为的话题。

除了我给出的提示之外,如果您需要进一步的帮助,也许您可​​以单独询问关于这两个主题的后续问题。

【讨论】:

  • 谢谢。这只是我喜欢的那种答案。我只需要指出正确的方向 :) 将对此进行调查,然后返回 cmets 或更多问题。
猜你喜欢
  • 2012-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-27
  • 2016-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多