2009-09-15 24 views
2

我需要在我的项目中使用一些第三方jar。 该项目是一个Spring项目,该jar也使用Spring。春天 - 包括一个本身在Spring项目中使用Spring的jar的方法

有没有一种方法可以将第三方jar包含在我的项目中?我发现很难找到第三部分jar的每个依赖项并注入它。

+0

我猜第三方jar没有pom.xml。也许它有另一个构建脚本可以帮助。或者,也许它在某处记录它的依赖关系。 – 2009-09-15 15:34:36

回答

4

应该不是问题。通常,应用程序上下文可以在同一个JVM中独立于另一个进行加载。但是,如果要从类路径中的资源文件加载bean定义(例如使用ClasspathXmlApplicationContext),请确保文件的位置和名称不与第三方JAR冲突。例如,如果它们都位于类路径中不同JAR中的“/applicationContext.xml”中,则会遇到问题。让你的独特。

2

我不清楚你的意思是“include”。

如果第三方JAR在战争项目中被定义为依赖关系,它将自动捆绑到战争的WEB-INF/lib文件夹中,当它被war plugin打包时。那么jar中的任何类都将在类路径中,因此可以在Spring配置中引用。你有比这更具体的要求吗?

另请注意,如果第三方jar是一个正确定义的Maven项目,它的依赖关系将在其pom中定义。这些传递性依赖也被捆绑到战争中(除非你用非默认的scope定义它们,在这种情况下它们可能不是)。

您在Maven中央存储库上找到的任何罐子应该用其所有传递依赖性定义为。如果您在解决问题时遇到问题,请更新您的答案,以便找到相关的Maven凭证。

根据您的评论更新。一旦jar放在war的类路径中,就可以通过将它们导入到war的应用程序上下文中来引用它声明的所有Spring配置文件。您只需以如下格式指定导入:“jar:file:// jarName!/path/to/config.xml”

+0

您如何期待加载my-project的应用程序上下文实际上会加载第三方jar应用程序上下文?这是我的问题.. – peakit 2009-09-15 15:28:38

+0

你没有提到你的问题中的任何弹簧配置,所以我没有期待它。我已经更新了我的答案,以显示第三方jar中的配置文件如何导入到您的war配置中 – 2009-09-15 15:33:47

+0

Thanks Rich。答案的最后部分+1。顺便说一句,我们有更多的方法来处理这个问题。只是想知道所有的方法:) – peakit 2009-09-15 15:37:07

相关问题