包括WebSphere运行时

时间:2010-10-27 19:26:38

标签: maven-2

使用Maven构建ear文件时包含WebSphere运行时的最佳方法是什么?使用ant,我只是在类路径中添加了lib目录的绝对路径。我在这个主题上读过的内容,似乎有人说使用系统范围的依赖关系。但是,为此,我需要独立地包含每个jar(并且WebSphere运行时中有大量的jar)。

有没有办法只包括所有罐子的绝对路径?我不需要在ear文件中使用这些文件,因为它们在部署时可以在服务器上使用。

2 个答案:

答案 0 :(得分:3)

您可以完成两项任务:

  1. 正如您所建议的那样,您可以将依赖项声明为系统范围的依赖项,并提供JAR文件的路径。虽然maven要求这些依赖项是绝对的,但它还定义了已解析为POM文件所在位置的运行时属性${basedir}

  2. 您可以将JAR文件添加到本地maven存储库服务器(Nexus,Archiva等),然后按照提供的方式声明依赖项范围。这会将JAR文件拉到机器上进行编译和测试,但最后将它们从包中排除。

  3. 我已经完成了两种方法,并且系统作用域技术变得老旧,特别是当您添加一个也具有依赖项的JAR时。使用系统作用域,您将失去maven的传递依赖性解析功能。然而,如果应用程序很小且有1或2个开发人员,则存储库服务器的开销没有多大意义。

答案 1 :(得分:1)

丹的上述帖子可行,但会增加额外的开销。我们继续使用Maven Ant任务(使用maven-ant-tasks jar; http://maven.apache.org/ant-tasks/)。这允许我们在使用Maven的依赖项时使用现有的构建脚本。

在不久的将来某个时候,我们可能会考虑完全转向Maven构建,但我们发现根据我们的时间表,这是一个可接受的替代方案。希望这些信息证明是有用的。