我们有一个(直到现在)小项目,它由4个eclipse项目组成。 main
项目包含所有需要的库和Ant脚本。
现在我们想要将这个项目转换为Maven,同时保持项目结构。
工作原理:
jar
个文件jar
个文件复制到lib
项目的main
文件夹main
项目的一些相应文件夹中war
项目main
存档
醇>
Maven的(可能)问题:
main
项目
我读了一下Maven的可能性,看起来像 assembly
插件可以解决这个问题?!但我不知道如何让所有这些东西工作......
我想到了这个项目布局:
+ parent-pom (with packaging: pom)
- main-war (packaging: war)
- module1 (packaging: jar, depends on main-war)
- module2 (packaging: jar, depends on main-war)
- module3 (packaging: jar, depends on main-war and module1)
现在parent-pom
必须有<build>
指令和assembly
插件吗?
请帮帮我。谢谢:))
答案 0 :(得分:1)
我首先建议更改项目的结构,这意味着具有以下文件夹布局:
+-- root (pom.xml packaging: pom)
+--- module1 (packaging: jar: depends on: module-common)
+--- module2 (packaging: jar: depends on: module-common)
+--- module3 (packaging: jar: depends on: module1, module-common)
+--- module-common (packaging: jar)
+--- module-war (packaging: war, depends on: module1, module2, module3)
所提到的对war模块的依赖没有意义,因为通常你有一个模块依赖于另一个而不是war mdoule。因此,要解决该问题,最简单的解决方案是引入一个单独的模块 - 通用,它应该采用所有模块通用的代码。 war模块包含html,静态文件等文件夹,其布局如下:
.
|-- pom.xml
`-- src
`-- main
|-- java
| `-- com
| `-- example
| `-- projects
| `-- SampleAction.java
|-- resources
| `-- images
| `-- sampleimage.jpg
`-- webapp
|-- WEB-INF
| `-- web.xml
|-- index.html
`-- jsp
`-- websource.jsp
如果您处理上述结构中的内容,则不需要使用程序集插件或任何插件来复制文件等,它将默认处理。因此,您将获得一个包含所需内容的war文件。