使用Maven构建ear文件时包含WebSphere运行时的最佳方法是什么?使用ant,我只是在类路径中添加了lib目录的绝对路径。我在这个主题上读过的内容,似乎有人说使用系统范围的依赖关系。但是,为此,我需要独立地包含每个jar(并且WebSphere运行时中有大量的jar)。
有没有办法只包括所有罐子的绝对路径?我不需要在ear文件中使用这些文件,因为它们在部署时可以在服务器上使用。
答案 0 :(得分:3)
您可以完成两项任务:
正如您所建议的那样,您可以将依赖项声明为系统范围的依赖项,并提供JAR文件的路径。虽然maven要求这些依赖项是绝对的,但它还定义了已解析为POM文件所在位置的运行时属性${basedir}
。
您可以将JAR文件添加到本地maven存储库服务器(Nexus,Archiva等),然后按照提供的方式声明依赖项范围。这会将JAR文件拉到机器上进行编译和测试,但最后将它们从包中排除。
我已经完成了两种方法,并且系统作用域技术变得老旧,特别是当您添加一个也具有依赖项的JAR时。使用系统作用域,您将失去maven的传递依赖性解析功能。然而,如果应用程序很小且有1或2个开发人员,则存储库服务器的开销没有多大意义。
答案 1 :(得分:1)
在不久的将来某个时候,我们可能会考虑完全转向Maven构建,但我们发现根据我们的时间表,这是一个可接受的替代方案。希望这些信息证明是有用的。