Имам приложение, пакетирано вътре в onejar, което използва Velocity за шаблониране.
В моята настройка на maven проект имам файл в $base/src/main/resources/template.html
. Когато приложението бъде пакетирано като onejar, полученият onejar съдържа вложен буркан вътре в него (под main/my-jar.jar). Този буркан от своя страна има този template.html
файл, пакетиран под неговия корен. (Очевидно maven го е копирал от src/main/resources в корена на пакета)
Бих искал да заредя този шаблон като ресурс във Velocity. Прочетох, че трябва да използвам ClassPathResourceLoader, за да направя това, така че имам код, който изглежда така:
VelocityEngine ve = new VelocityEngine();
ve.setApplicationAttribute("resource.loader", "class");
ve.setApplicationAttribute("class.resource.loader.class",
org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader.class);
ve.init();
Template t = ve.getTemplate("template.html");
Това се проваля всеки път, с изключение на това, че никой от зареждащите ресурси на Velocity не може да намери файла.
Имам два въпроса - първо, това дори правилният начин ли е да конфигурирате използването на ClasspathResourceLoader? И второ, ако това беше конфигурирано правилно, какъв път бих посочил, така че template.html да може да бъде намерен вътре в този вътрешен вложен буркан?