2016-08-26 2 views
0

Я хочу прочитать properties ключей файлов, и я обнаружил, что есть атрибут classpath установить в @PropertySource аннотации:Как узнать путь к классам?

@Configuration 
@PropertySources({ 
    @PropertySource("classpath:config.properties"), 
    @PropertySource("classpath:db.properties") 
}) 
public class AppConfig { 
    //... 
} 

Где следует файл свойств быть размещен и как знать пути к классам в аннотации?

+0

Это не устанавливает атрибут classpath. Он сообщает Spring, что он должен загружать свойства из ресурса с именем config.properties, который находится в пути к классам, в пакете по умолчанию. –

+0

ok, так как узнать значение этого класса в пакете по умолчанию? и что это за пакет по умолчанию? – pheromix

+1

Вы, кажется, не понимаете, что такое classpath. Когда вы запускаете свое Java-приложение, например, с помощью java -cp a.jar: b.jar: someDir', тогда все классы и ресурсы, расположенные в a.jar, b.jar и someDir, находятся в пути к классам. Вот где Java ищет классы вашей программы. Итак, в соответствии с аннотациями выше, config.properties и предполагая, что путь к классам - это 'a.jar: b.jar: someDir', то config.properties должен быть в корне a.jar, в корне b.jar , или в каталоге 'someDir'. –

ответ

0

У вас есть два варианта

  1. Define shared.loader в вашем /conf/catalina.properties. Пример:

    shared.loader = D: \ Data \ свойства

  2. Если вы используете Maven, положить свойства в /src/main/resources

0

What is class path ?

Путь класс путь, в котором среда выполнения Java ищет классы и другие файлы ресурсов.

How to identify classpath ?

Проверьте IDE, то, что все в пути сборки. Папки в пути сборки находятся в пути к классам. Вы можете добавить любое количество папок и файлов в classpath явно.

Вы можете получить доступ к ничего в папках/пакеты могут быть классы доступны относительно :)

Classpath

Refer

Смежные вопросы