![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Alexandering |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 27 Регистрация: 14.9.2008 Репутация: нет Всего: нет |
Имею: OS - Ubuntu-9.04-amd64
IDE - NetBeans 6.5 ------------------------- Никак не хочет работать org.apache.log4j В CLASSPATH JAVA_HOME ничего не писал. Скачал org.apache.log4j, распокавал. В своем проекте в НетБинсе в свойствах проекта подключил log4j-1.2.15.jar так как советуют в Readme. Насоздавал логгеров, сделал log4j.properties по образцу. Теперь: кинул log4j.properties в каталог к моему проекту. Если компилировать в ИДЕ, то все работает так как надо, находится мой log4j.properties и в зависимости от него пишутся разные логи. -------------------------- Но если запускать скомпилированный *.jar не из ИДЕ: java -jar NetServer.jar, то на консоль выводится: log4j:ERROR Could not read configuration file [log4j.properties]. java.io.FileNotFoundException: log4j.properties (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:106) at java.io.FileInputStream.<init>(FileInputStream.java:66) at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:316) at org.apache.log4j.PropertyConfigurator.configure(PropertyConfigurator.java:342) at NetServer.NetServer.main(NetServer.java:20) log4j:ERROR Ignoring configuration file [log4j.properties]. log4j:WARN No appenders could be found for logger (NetServer.NetServer). log4j:WARN Please initialize the log4j system properly. ------------------- Как решить проблему? Наверняка в CLASSPATH JAVA_HOME надо чего-то прописывать.....но прописав от юзера: export CLASSPATH=/usr/lib/jvm/blabla И затем дав команду: echo $CLASSPATH имею пустую строку. CLASSPATH изменяется только от суперпользователя. |
|||
|
||||
| Galaran |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 25.5.2009 Репутация: 1 Всего: 2 |
Log4j в CLASSPATH прописан нормально, но он не может найти конфиг. Проверь, чтобы конфиг был в корне jar
|
|||
|
||||
| Alexandr87 |
|
|||
![]() дыкий псых ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1459 Регистрация: 27.11.2004 Где: Алматы, Казахстан Репутация: 1 Всего: 39 |
при запуске программы из Netbeans текущей рабочей директорией (pwd) является папка с проектом. Там скорее всего этот файл и лежит.
А если ты запускаешь программу с помощью java -jar NetServer.jar, то, скорее всего, ты запускаешь программу находясь в директории dist. Соответственно, конфигурационного файла в текущей директории нет - отсюда и проблемы. |
|||
|
||||
| ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 1 Всего: 28 |
Надо сказать Нетбинсу, чтобы копировал log4j.properties в ваш JAR, а то получается, что под Нетбинсом log4j.properties лежит в CLASSPATH, а когда запускаете уже упакованным в JAR в CLASSPATH нет log4j.properties - вот потому то и ругается LOG4J. -------------------- Aut viam inveniam aut faciam |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 6 Всего: 43 |
Если не ошибаюсь, проперти файлы по умолчанию укладываются Нетбинсом в jar , если эти файлы лежат в папке src. Однако это тоже не всегда гарантирует их видимость - надо не сделать ошибок при их загрузке. В Нетбинсе в шаблоне проекта Java Desktop Application принято иметь внутри пакетов папки resources, куда и кладутся ресурсы пакета - проперти, имиджи и пр. К приложению подключается библиотека Swing Application Framework, обеспечивающая всю необходимую функциональность. Можно делать проект по этому шаблону.
С другой стороны, мне, например, неудобно иметь проперти файлы внутри jar. Хотелось бы иметь возможность менять параметры без перекомпиляции проекта. Когда же проперти лежат внутри jar, то их редактирование усложняется - надо вынуть файл из архива, отредактировать, упаковать обратно, т.е на компьютере, где работает приложение, должен быть установлен архиватор. Если параметров мало, то можно их передавать при запуске программы через параметры main, т.е. записать их в bat файл. Тогда их легко редактировать любым текстовым редактором. В Нетбинсе результатом билда для проектов - приложений (Java Application и др.) является папка dist. Это дистрибутив, т.е. папка и есть переносимое приложение. Внутри папки лежит собственно jar, а также папка lib с библиотеками. Проект можно настроить так, чтобы при билде внутри dist создавалась еще и папка, например, config , куда и копировались бы автоматически проперти файлы. Для осуществления этого следует редактировать build.xml проекта. Тогда проперти будут легко доступны для редактирования любым текстовым редактором. Это сообщение отредактировал(а) COVD - 27.10.2009, 16:55 |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java tools & IDE's | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |