У меня есть следующий класс:ResourceNotFoundException на существующем пути
public class EmailService {
static {
Velocity.setProperty("resource.loader", "class");
Velocity.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
Velocity.init();
}
public void sendTerminalModerationStatusChangedEmail(Terminal terminal, String to) {
...
Template subjectTemplate = null;
try {
subjectTemplate = Velocity.getTemplate(existedPath, "UTF-8");
} catch (URISyntaxException e) {
e.printStackTrace();
}
...
}
}
В отлаживать я вижу, что существует путь действительно существует. но я получил следующее сообщение об ошибке:
Unable to find resource 'C:/Program Files (x86)/apache/apache-tomcat-7.0.52/webapps/ROOT/WEB-INF/classes/velocityTemplates/terminalModerationStatusChanged.vm'
Но файл C:/Program Files (x86)/apache/apache-tomcat-7.0.52/webapps/ROOT/WEB-INF/classes/velocityTemplates/terminalModerationStatusChanged.vm
действительно существует на моей машине, и я могу перейти к нему, если типу скопирована пути к адресной строке.
Почему вы используете полный путь, вместо того чтобы загружать его из ссылки на classpath как 'speedTemplates/terminalModerationStatusChanged.vm'? – K139
@ K139 Вы правы – gstackoverflow
Хорошо, добавив его в качестве ответа тогда. Спасибо! – K139