Невозможно найти ресурс, хотя файл находится в пути к классам - PullRequest
1 голос
/ 24 сентября 2019

Я добавил Apache Velocity 1.7 в мое весеннее приложение 3.2.5.RELEASE, чтобы конвертировать html в строку и отправлять почту.Мой весенний контекст определен ниже:

<bean id="velocityEngine1" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
    <property name="velocityProperties">
        <props>
            <prop key="resource.loader">class</prop>
            <prop key="class.resource.loader.class">
                org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
            </prop>
        </props>
    </property>
</bean>

Я добавил файл test.vm в мою папку src / main / resources.

В строке ниже я использую движок:

   @Autowired
    @Qualifier("velocityEngine1")
    private VelocityEngine velocityEngine;

public JSONResult uploadFile(MultipartFile file, AppUserDTO appUserDTO){

        String body = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "test", "UTF-8", null);
        System.out.println(body);

...

}

При выполнении метода VelocityEngineUtils.mergeTemplateIntoString я получаю исключение:

org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'test'

1 Ответ

1 голос
/ 24 сентября 2019

Вам нужно поставить полный путь с файлом шаблона , в вашем случае

 VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "test.vm", "UTF-8", null);
...