【发布时间】: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 和<packaging>jar</packaging> 来创建一个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 一个。
有人可以解释一下如何实现以下目标
- 来自
shared_code的资源会自动部署并提供给apps。对于奖励积分,apps能否以某种方式覆盖资源? - 如何创建单个 jar 文件,而不是创建一个包含完整依赖项的子文件夹的 jar?
- 如何创建可执行文件而不是 jar?
对于其他奖励积分,请随时告诉我我正在以非规范的方式解决问题并完全纠正我。
【问题讨论】:
-
希望在您的 shread_code 中放入什么样的资源?属性文件?
-
现在只是配置文件。
标签: java maven jar dependencies