找不到资源 - 无法快速找到资源

问题描述 投票:0回答:1

不确定为什么会收到此错误 - 我看不出我的配置出了什么问题。

对要使用的文件的引用位于我的配置中引用的 notification.properties 文件中:

类路径:com/app/application/notification/notifications

我的应用程序运行良好,并在 notificaitons.properties 文件中查找 new.user.password.template=en/newuserpassword.html

我已经对其进行了调试,它发现“en/newuserpassword.html”很好,但随后它找不到实际的文件本身。

我已经检查过,文件确实在那里 - 完全匹配,但就是找不到它:

resources/com/app/application/notification/template/en/newuserpassword.html

org.apache.velocity.exception.ResourceNotFoundException:无法找到资源“en/newuserpassword.html” 在org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:474) 在 org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:352) 在 org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:1533) 在 org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:343) 在 org.apache.velocity.app.VelocityEngine.mergeTemplate(VelocityEngine.java:320)

 <bean id="notificationResolver" class="com..application.notification.resolver.VelocityNotificationResolver">
        <constructor-arg>
            <bean class="com.amor.hcplus.application.util.spring.context.TypeConvertingReloadableResourceBundleMessageSource">
                <property name="cacheSeconds" value="60" />
                <property name="basenames">
                    <list>
                        <value>classpath:com/app/application/notification/notifications</value>
                        <value>WEB-INF/spring/i18n/enums</value>
                    </list>
                </property>
            </bean>
        </constructor-arg>
        <constructor-arg>
            <bean id="velocityEngine" class="org.apache.velocity.app.VelocityEngine">
                <constructor-arg ref="velocityProperties"/>
            </bean>
        </constructor-arg>
    </bean>

我有一个类似的审核消息的设置,效果很好,并且找到了模板

    <bean id="auditMessageResolver" class="com.amor.hcplus.application.audit.domain.VelocityAuditMessageResolver">
        <constructor-arg>
            <bean class="com.application.util.spring.context.TypeConvertingReloadableResourceBundleMessageSource">
                <property name="basenames">
                    <list>
                        <value>WEB-INF/spring/i18n/enums</value>
                        <value>classpath:com/app/application/audit/auditing</value>
                    </list>
                </property>
            </bean>
        </constructor-arg>
        <constructor-arg>
            <bean id="velocityEngine" class="org.apache.velocity.app.VelocityEngine">
                <constructor-arg ref="velocityProperties"/>
            </bean>
        </constructor-arg>
    </bean>
java spring spring-mvc velocity
1个回答
0
投票

如果您的模板在类路径上为

com/app/application/notification/template/en/newuserpassword.html

你要求速度来找到

en/newuserpassword.html

那么你的模板位置应该是

com/app/application/notification/template

而不是

com/app/application/notification/notifications

© www.soinside.com 2019 - 2024. All rights reserved.