Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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
Spring Weblogic、beans和x27;春天找不到_Spring_Tomcat_Weblogic_Weblogic 10.x - Fatal编程技术网

Spring Weblogic、beans和x27;春天找不到

Spring Weblogic、beans和x27;春天找不到,spring,tomcat,weblogic,weblogic-10.x,Spring,Tomcat,Weblogic,Weblogic 10.x,我们有一个使用Spring3的web应用程序。我们必须将它从Tomcat7迁移到WebLogic10 此应用程序的结构是: 一个核心模块,包含所有应用程序逻辑。此模块打包为一个jar 定义所有web服务的web模块。此模块将前一个模块作为依赖项包含,并通过在“contextConfigLocation”参数中包含核心模块上下文来使用其bean 我使用的是maven,这是在web模块中定义依赖关系的方式: <dependency> <groupId>com.ex

我们有一个使用Spring3的web应用程序。我们必须将它从Tomcat7迁移到WebLogic10

此应用程序的结构是:

  • 一个核心模块,包含所有应用程序逻辑。此模块打包为一个jar
  • 定义所有web服务的web模块。此模块将前一个模块作为依赖项包含,并通过在“contextConfigLocation”参数中包含核心模块上下文来使用其bean
我使用的是maven,这是在web模块中定义依赖关系的方式:

<dependency>
    <groupId>com.example</groupId>
    <artifactId>module-core</artifactId>
    <version>${project.version}</version>
    <classifier>${environment}</classifier>
</dependency>
“xxxBean”是在core-module.jar中定义的任何bean。如果我删除ref以避免该bean出现问题,那么下一个引用的bean将再次引发错误。我的意思是Spring找到了web模块本身定义的所有bean,但没有一个在核心模块中定义

在错误跟踪中,我可以看到weblogic正在使用以下内容:

com.oracle.weblogic.wsee.wrapper.org.springframework.web.context.ContextLoaderListener.contextInitialized
因此,问题可能与Weblogic为spring应用程序引入的包装器有关


你知道可以解决这个问题的配置吗?谢谢

classpath的
contextConfigLocation
:核心模块applicationContext.xml或任何实际调用的文件都应该可以工作

您可以尝试使用此内容在WEB-INF/中定义weblogic.xml吗


真的


为Weblogic 10修改它,本质上我们希望将
首选web inf类
设置为true

类路径的
上下文配置位置
:核心模块applicationContext.xml或任何实际调用的文件都可以工作

您可以尝试使用此内容在WEB-INF/中定义weblogic.xml吗


真的


为Weblogic 10修改它,本质上我们希望将
首选web inf类
设置为true

最后,问题与如何在web.xml中定义不同的xml文件有关。在tomcat中工作正常的原始配置是:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath:core-context.xml
        classpath:spring-web-security.xml 
    </param-value>
</context-param>

上下文配置位置
类路径:core-context.xml
类路径:spring-web-security.xml
新的:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:core-context.xml,classpath:spring-web-security.xml</param-value>
</context-param>

上下文配置位置
classpath:core context.xml,classpath:spring-web-security.xml

它们必须声明为逗号分隔,而不是使用新行。因为weblogic没有抱怨xml的格式,所以发现问题有点复杂。我希望这可以避免人们花时间进行这种迁移。问候和感谢

最后,问题与web.xml中如何定义不同的xml文件有关。在tomcat中工作正常的原始配置是:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
        classpath:core-context.xml
        classpath:spring-web-security.xml 
    </param-value>
</context-param>

上下文配置位置
类路径:core-context.xml
类路径:spring-web-security.xml
新的:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:core-context.xml,classpath:spring-web-security.xml</param-value>
</context-param>

上下文配置位置
classpath:core context.xml,classpath:spring-web-security.xml


它们必须声明为逗号分隔,而不是使用新行。因为weblogic没有抱怨xml的格式,所以发现问题有点复杂。我希望这可以避免人们花时间进行这种迁移。问候和感谢

你真的有名为xxxBean的bean吗?也许你只是不小心留下了一些评论之类的。尝试在部署中搜索该字符串。不,这是一个虚构的名称。我使用它是因为问题发生在应用程序的任何bean上。如果我评论一个bean,那么下一个引用的bean就会出现问题。您如何定义web模块和核心之间的依赖关系?我使用的是maven,我在问题中添加了这个定义。谢谢我的意思是,您的web服务是否处于战争中,而核心模块位于战争的web-INF/lib中?或者您的web服务是在一个jar中,您真的有名为xxxBean的bean吗?也许你只是不小心留下了一些评论之类的。尝试在部署中搜索该字符串。不,这是一个虚构的名称。我使用它是因为问题发生在应用程序的任何bean上。如果我评论一个bean,那么下一个引用的bean就会出现问题。您如何定义web模块和核心之间的依赖关系?我使用的是maven,我在问题中添加了这个定义。谢谢我的意思是,您的web服务是否处于战争中,而核心模块位于战争的web-INF/lib中?或者您的web服务是否在JAR中?我尝试过这一点,但遇到了相同的问题:-(顺便说一句,weblogic文档说,在管理控制台中指定的值将优先于手动设置的值,但我在控制台中找不到可以检查它的位置。感谢您尝试所有组合:
classpath*:appcontext.xml
classpath:*/appcontext.xml
等?是的,我尝试了。最后,今天早上我发现了问题。我有不同的应用程序上下文文件,一个用于core Bean,另一个用于spring security。我不得不用逗号分隔它们的定义,在tomcat中,它们用新行分隔。问题是weblogic的错误与真正的问题无关。我将把它添加到问题中。非常感谢!!我试过了,但问题是一样的:-(顺便说一句,weblogic文档说,在管理控制台中指定的值将优先于手动设置的值,但我在控制台中找不到可以检查它的位置。感谢您尝试所有组合:
classpath*:appcontext.xml
classpath:*/appcontext.xml
等?是的,我尝试了。最后,今天早上我发现了问题。我有不同的应用程序上下文文件,一个用于core Bean,另一个用于spring security。我不得不用逗号分隔它们的定义,在tomcat中,它们用新行分隔。问题是weblogic的错误与真正的问题无关。我将把它添加到问题中。非常感谢!!在我的情况下,原因是使用了
**
而不是目录名。I r