Как я могу получить свой ресурс ClassLoader для использования моих свойств maven?

У меня есть BaseTask в Java EE, который предоставляет URL для других классов. Этот URL-адрес изменяется в зависимости от того, dev, test или же prod,

В моем src/main/resources У меня есть файл с именем server.properties, Этот файл имеет одну запись, например:

urls.main=${urls.main}

Далее у нас есть три файла с именем dev.properties, test.properties а также prod.properties находится в src/main/filters,

Каждый из этих файлов имеет одну запись, но, например, dev.properties содержит запись типа:

urls.main=http://localhost/somepath

Теперь у меня есть следующие настройки в моем pom:

<profiles>
    <profile>
        <id>dev</id>
        <build>
            <filters>
                <filter>src/main/filters/dev.properties</filter>
            </filters>

            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <filtering>true</filtering>
                </resource>
            </resources>
        </build>
    </profile>
    ... repeat for "test.properties" and "prod.properties"...
</profiles>

Хорошо, теперь я могу выполнить следующее:

mvn -Pdev package

и EAR файл строится вместе с server.properties файл с записью в нем, как:

urls.main=http://localhost/somepath

Таким образом, фактический файл отображается правильно в файле EAR. Но когда я пытаюсь загрузить свойство из Java, он использует ${urls.main} вместо.

Код, который я использую в Java для загрузки свойства:

private static final String getURL() {

    String url = "";
    try {
        url = getProperty("urls.main");     // returns "${urls.main}" instead of http://localhost/somepath
    } catch (IOException ex) {
        ex.printStackTrace();
    }

    return url;
}

Я уверен, что упускаю что-то глупое, но что я делаю не так?

Благодарю.

РЕДАКТИРОВАТЬ

Кстати, это не весь код, я закрываю потоки и т. Д. Я просто не опубликовал все, чтобы облегчить чтение сообщения.:-)

0 ответов

Другие вопросы по тегам