Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven多项目库依赖项_Java_Maven_Ear - Fatal编程技术网

Java Maven多项目库依赖项

Java Maven多项目库依赖项,java,maven,ear,Java,Maven,Ear,我有企业项目(*.ear),它是由maven打包的。 Ear文件包含许多文件: final.ear |-lib |-META-INF |--web.war |--bla-bla.jar |--web-bla.war maven打包的每个文件(jar、war)。 1) 如何将所有文件(war、jar)中所有必需的库放入final.ear/lib? 2) 如何将/lib中的库分组,例如:lib/axis、lib/logging?使用该功能对我解决这个问题很有效。1 EJB jar)在jar的po

我有企业项目(*.ear),它是由maven打包的。 Ear文件包含许多文件:

final.ear
|-lib
|-META-INF 
|--web.war
|--bla-bla.jar
|--web-bla.war
maven打包的每个文件(jar、war)。
1) 如何将所有文件(war、jar)中所有必需的库放入final.ear/lib?
2) 如何将/lib中的库分组,例如:lib/axis、lib/logging?

使用该功能对我解决这个问题很有效。

1 EJB jar)在jar的pom.xml中使依赖项“未提供”因此Maven知道运行时类路径上需要依赖项,因此需要与应用程序一起部署—这将触发应用程序将其添加到ear/lib

1 war)基本上您在这里描述的是“不使用war打包依赖项,而是将其打包到父EAR中”。在Maven术语中,然后将依赖项添加到ear的pom.xml中(因此它位于运行时类路径上),并将依赖项标记为war的pom.xml中提供的依赖项(因此它位于编译时类路径上,但不在运行时类路径上)。或者像Steve C建议的那样使用“瘦战争”功能

2) 我看到这种情况的唯一方法是,如果您完全微观管理ear的pom.xml中的依赖项:


它有助于将lid从web.war/web-INF/lib移动到ear.lib?