org.springframework.expression.spel.SpelEvaluationException: EL1005E:(pos 0): Type cannot be found


今天在完成Spring項目的時候遇到了一個類似於下面的異常:

10.03.2010 13:53:53 org.apache.catalina.core.StandardWrapperValve invoke
SCHWERWIEGEND: Servlet.service() for servlet default threw exception
org.springframework.expression.spel.SpelEvaluationException: EL1005E:(pos 0): Type cannot be found 'com.example.Comparison.Operator'
	at org.springframework.expression.spel.support.StandardTypeLocator.findType(StandardTypeLocator.java:79)
	at org.springframework.expression.spel.ExpressionState.findType(ExpressionState.java:136)
	at org.springframework.expression.spel.ast.TypeReference.getValueInternal(TypeReference.java:45)
	at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:52)
	at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:93)
	at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:88)
	at org.springframework.web.servlet.tags.EvalTag.doEndTag(EvalTag.java:118)

大致描述一下場景:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
       http://www.springframework.org/schema/util 
       http://www.springframework.org/schema/util/spring-util.xsd">


    <util:map id="contractQueryStrategyHolder">
        <entry key="#{T(com.example.Comparison.Operator).xxx}" value-ref="bbbb" />
    </util:map>

</beans>

OperatorComparison的內部類。后來啟動失敗就出現上面的異常。解決方案其實很簡單,只需要把配置修改為下面的就好:

    <util:map id="contractQueryStrategyHolder">
        <entry key="#{T(com.example.Comparison$Operator).xxx}" value-ref="bbbb" />
    </util:map>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM