我需要在我的项目中使用一些第三方jar。 该项目是一个Spring项目,该jar也使用Spring。春天 - 包括一个本身在Spring项目中使用Spring的jar的方法
有没有一种方法可以将第三方jar包含在我的项目中?我发现很难找到第三部分jar的每个依赖项并注入它。
我需要在我的项目中使用一些第三方jar。 该项目是一个Spring项目,该jar也使用Spring。春天 - 包括一个本身在Spring项目中使用Spring的jar的方法
有没有一种方法可以将第三方jar包含在我的项目中?我发现很难找到第三部分jar的每个依赖项并注入它。
应该不是问题。通常,应用程序上下文可以在同一个JVM中独立于另一个进行加载。但是,如果要从类路径中的资源文件加载bean定义(例如使用ClasspathXmlApplicationContext),请确保文件的位置和名称不与第三方JAR冲突。例如,如果它们都位于类路径中不同JAR中的“/applicationContext.xml”中,则会遇到问题。让你的独特。
我不清楚你的意思是“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”
我猜第三方jar没有pom.xml。也许它有另一个构建脚本可以帮助。或者,也许它在某处记录它的依赖关系。 – 2009-09-15 15:34:36