файл свойств для JDBC - PullRequest
       3

файл свойств для JDBC

4 голосов
/ 22 ноября 2011

Так что мой вопрос связан с моим предыдущим постом: SQLException: для параметра 1

не указано значение. Я понятия не имею, что такое файл свойств.Могу ли я создать файл свойств из текстового редактора и задать путь в файле catalina.properties в папке Tomcat / conf?или у меня есть следующее

javabase.jdbc.url = jdbc:mysql://200.230.71.12:3306/social
javabase.jdbc.driver = com.mysql.jdbc.Driver
javabase.jdbc.username = cepein
javabase.jdbc.password = 1234cinco

, вставленное в shared.loader = в файле catalina.properties?

Так или иначе, я сделал следующее:

# starting with file:
shared.loader= /home/shaunkoo/NetBeansProjects/dao.properties

и загрузить файл через

private static final String PROPERTIES_FILE = "/NetBeansProjects/dao.properties";
private static final Properties PROPERTIES = new Properties();

static {
    ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    InputStream propertiesFile = classLoader.getResourceAsStream(PROPERTIES_FILE);

Однако я получаю сообщение об ошибке, в котором говорится, что /NetBeansProjects/dao.properties отсутствует в classpath.Любая подсказка, что я сделал не так?

Ответы [ 2 ]

7 голосов
/ 22 ноября 2011

Понятия не имею, что такое файл свойств.

Файл Java .properties - это просто файл конфигурации с парами key=value в каждой строке, как файл Windows (на самом деле, C ++ / C #) .ini.

См. также:


Можно ли создать файл свойств из текстового редактора и задать путь в файле catalina.properties в папке Tomcat / conf?

Это сводится к тому, что файл должен быть помещен в путь к классам Java.В случае веб-приложения на Java вы можете поместить его в один из существующих путей, охватываемых classpath, например /WEB-INF/classes (в IDE размещение файла в корневой папке исходного кода Java должно привести кв /WEB-INF/classes).Конечно, вы можете также поместить его куда-нибудь еще и добавить его корневой путь к пути к классам, как вы пытаетесь сделать с shared.loader Tomcat.


Так или иначе ясделал следующее:

# starting with file:
shared.loader= /home/shaunkoo/NetBeansProjects/dao.properties

Это не правильно, он должен указывать на папку, которая представляет корень пути к классу, или на отдельный файл JAR.В вашем случае это должно быть:

shared.loader= /home/shaunkoo/NetBeansProjects

Таким образом, содержимое вышеуказанной папки становится частью пути к классам.


и загрузите файлчерез

private static final String PROPERTIES_FILE = "/NetBeansProjects/dao.properties";

Это не правильно, путь для загрузчика класса контекста не может начинаться с / и не должен указывать на папку, которая не внутри путь к классу.Вы указали /home/shaunkoo/NetBeansProjects как часть пути к классам, поэтому любые файлы, которые находятся внутри папки, доступны загрузчику классов, а не самой папке.В вашем случае это должно быть:

private static final String PROPERTIES_FILE = "dao.properties";
0 голосов
/ 22 ноября 2011

getResourceAsStream разрешает путь к классам, а не путь к вашей файловой системе.Поэтому вам нужно будет поместить файл в вашу исходную папку (например, в /src/resources/dao.properties

, а затем использовать что-то вроде getResourceAsStream("/resources/dao.properties")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...