Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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 Spring—在Spring项目中包含本身使用Spring的jar的方法_Java_Spring_Maven 2_Dependency Injection_Java Ee 6 - Fatal编程技术网

Java Spring—在Spring项目中包含本身使用Spring的jar的方法

Java Spring—在Spring项目中包含本身使用Spring的jar的方法,java,spring,maven-2,dependency-injection,java-ee-6,Java,Spring,Maven 2,Dependency Injection,Java Ee 6,我需要在我的项目中使用一些第三方jar该项目是一个Spring项目,jar也在使用Spring。 有没有一种方法可以将第三方jar包含在我的项目中?我发现很难找到第三部分jar的每一个依赖项并注入它。我不清楚“包含”到底是什么意思 如果第三方jar在您的war项目中被定义为依赖项,那么当它被war项目打包时,它将自动绑定到war的WEB-INF/lib文件夹中。jar中的任何类都将位于类路径上,因此可以在Spring配置中引用。你有比这更具体的要求吗 还要注意,如果第三方jar是一个正确定义的M

我需要在我的项目中使用一些第三方jar该项目是一个Spring项目,jar也在使用Spring。


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

我不清楚“包含”到底是什么意思

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

还要注意,如果第三方jar是一个正确定义的Maven项目,那么它的依赖项将在pom中定义。这些可传递的依赖项也被捆绑到war中(除非您使用非默认值定义它们,在这种情况下它们可能不是)

您在Maven中央存储库中找到的任何JAR都应该使用它们的所有可传递依赖项进行定义。如果您在解决这些问题时遇到困难,请更新您的答案,以便找到相关的Maven凭据


根据您的评论进行更新。一旦jar位于war的类路径上,您就可以通过将其导入war的应用程序上下文来引用它声明的任何Spring配置文件。您只需以“jar:file://jarName!/path/to/config.xml“

应该没有问题。通常,应用程序上下文可以在同一JVM中彼此独立地加载。但是,如果从类路径中的资源文件加载bean定义(例如,使用ClasspathXmlApplicationContext),请确保文件的位置和名称不会与第三方JAR冲突。例如,如果它们都位于类路径中不同jar中的“/applicationContext.xml”,则会出现问题。使您的应用程序具有独特性。

您如何期望加载我的项目的应用程序上下文将实际加载第三方JAR应用程序上下文?这是我的问题..您在问题中没有提到任何spring配置,所以我一点也没想到。我已经更新了我的答案,以展示如何将第三方jar中的配置文件导入到war的ConfigurationThank Rich中+答案的最后一部分是1。顺便说一句,我们有更多的方法来处理这个问题吗。我只想知道所有的方法:)我知道的唯一其他方法包括编写自己的配置处理。我不认为有一种方法可以自动发现配置,如果这是您想要的,我想第三方jar没有pom.xml。也许它还有另一个构建脚本可以帮助。或者它在某个地方记录了它的依赖关系。