Невозможно загрузить шаблон, когда URLResourceLoader используется с Velocity - PullRequest
2 голосов
/ 07 сентября 2010

При попытке получить доступ к шаблону Velocity с помощью URLResourceLoader появляется следующая ошибка.

org.apache.velocity.exception.ResourceNotFoundException: невозможно найти ресурс 'http://localhost:8080/myvelocityapp/my-template.vm' в org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource (ResourceManagerImpl.java:483)

Я могу увидеть вышеуказанный файл, если скопирую и вставлю URL в мой браузер. Однако код не может получить доступ к URL. Мой шаблонный код кажется правильным, потому что он работает нормально, когда я пытаюсь использовать ClassPathResourceLoader. Это просто загрузчик ресурсов URL, который создает проблему.

Спасибо.

EDIT ---

Я написал небольшой jUnit, чтобы понять, в чем проблема:

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

import junit.framework.TestCase;

public class TestUrl extends TestCase {

    protected void setUp() throws Exception {
        super.setUp();
    }

    public void testVelocity() throws IOException {
        URL url= new URL("http://localhost:8080/myvelocityapp/my-template.vm");
        System.out.println(url.openStream().toString());

    }

    protected void tearDown() throws Exception {
        super.tearDown();
    }

}

И приведенный выше код может получить доступ к URL.

1 Ответ

2 голосов
/ 10 сентября 2010

Наконец-то обнаружена проблема.

Проблема заключалась в том, что "url.resource.loader.root" не был указан.

...