powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Как задать относительную ссылку на файл для чтения в Springe-mvc
25 сообщений из 66, страница 2 из 3
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964624
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Само приложение работает, но когда обращаюсь к файлу, то выдает ошибку 22142705 .

Точно вот так РАБОТАЕТ
Код: java
1.
String relationWay="Hydrometcentre.xls";//way


а вот так
Код: java
1.
String relationWay="/opt/tomcat/webapps/water_war/Hydrometcentre.xls";//way


ошибка?
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964627
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
mayton, нет у меня на сервере дебагера, там стоит Линукс без графической оболочки, поставил ещё jdk, Tomcat, mysql and java-mysql connector, и все )
Я так пробовал 22142705 , не получилось, возможно тут ещё конфликт прав root и пользователя под которым работает приложение. Проверю ещё это

Смотри. Тут много всяких факторов ты накидал что мне не нравится. С операционкой как-то сложно.
Вроде как файл создал под одним пользователем а Томкат запустил под другим.

И перепиши хотя-бы так. Атож смортеть невозможно на твой код. Глаза кровью текут.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 
        String relationWay="/opt/tomcat/webapps/water_war/Hydrometcentre.xls";//way
        // Read XSL file
        try(InputStream inputStream = new FileInputStream(relationWay)) {
            HSSFWorkbook workbook = new HSSFWorkbook(inputStream); 
            logger.info("OK");
        } catch (IOException ex) {
            // implementation 'org.apache.logging.log4j:log4j-core:2.13.0'
            logger.error("", ex);
        }
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964628
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,
Код: java
1.
 } catch (FileNotFoundException e) {


Убери. Перехватывай ВСЕ исключения и проверь после на null
Это минимум для любого кода в твоей жизни
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964631
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Vlad__i__mir
Само приложение работает, но когда обращаюсь к файлу, то выдает ошибку 22142705 .

Точно вот так РАБОТАЕТ
Код: java
1.
String relationWay="Hydrometcentre.xls";//way


а вот так
Код: java
1.
String relationWay="/opt/tomcat/webapps/water_war/Hydrometcentre.xls";//way


ошибка?


Код: java
1.
String relationWay="Hydrometcentre.xls";


так работает у меня на ПК, если я кидаю файл в папку E:\Fast_w\apache-tomcat-9.0.19\bin
но на сервере, я туда не могу закинуть потому что это папка /opt/tomcat/bin root-овская, а приложение у меня крутится под другим пользователем chown -R vladimir webapps/ work/ temp/ logs/
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964640
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
это папка /opt/tomcat/bin root-овская
ну дак измени на /home
Причём тут название темы?
Сделай РАБОЧИЙ КОД с /home/ivan/my_proga_super/xml/
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964673
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зачем вообще вся эта возня с абсолютными путями? Можно дернуть Class.getResourceAsStream и получить инпутстрим файла из варки
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964674
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор запутался с правами и привилегиями в Linux. Конешно запускать tomcat от root нельзя.
Нужно завести специального отдельного юзера. Для доступа к 80-тому порту обычно поднят
nginx который просто стоит проксёй к томкату.

Но для автора это очевидно - неподъёмная задачка.

Кстати Владимир. Ты использовал уже мой исходник?
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964676
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Зачем вообще вся эта возня с абсолютными путями?

дак у него вообще не с путями вопрос.
Мы не видим рабочий код на проде который можно потом оптимизировать подставляя переменные хоть с Луны
авторМожно дернуть Class.getResourceAsStream и получить инпутстрим файла из варки
Я вот ваш способ не понял).
варка это архив при деплое. А ему нужно работать после него.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964678
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Автор запутался с правами и привилегиями в Linux. Конешно запускать tomcat от root нельзя.
Нужно завести специального отдельного юзера. Для доступа к 80-тому порту обычно поднят
nginx который просто стоит проксёй к томкату.

Но для автора это очевидно - неподъёмная задачка.

Кстати Владимир. Ты использовал уже мой исходник?


Саму схему переписал, как посоветовали, только Inputstream заменил на Filestream:
Код: java
1.
try(FileInputStream inputStream = new FileInputStream(relationWay))


Вопрос мне этот поток нужно закрыть, будет правильно, если я его закрою здесь же?
Код: java
1.
2.
3.
4.
5.
6.
7.
try(InputStream inputStream = new FileInputStream(relationWay)) {
            HSSFWorkbook workbook = new HSSFWorkbook(inputStream);
            inputStream.close();
          
        } catch (IOException ex) {
            
        }


Не получилось с logger, возникла проблема с имплементацией интерфейса // implementation 'org.apache.logging.log4j:log4j-core:2.13.0', если я правильно понял.
nginx у меня стоит в нем настроено проксирование на томкат и само страница томката через 80 порт норм грузится, а вот когда я пытаюсь обратится к приложению через 80 порт, то тут ошибка, хотя через порт 8080 все норм работает.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964685
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Vlad__i__mir
это папка /opt/tomcat/bin root-овская
ну дак измени на /home
Причём тут название темы?
Сделай РАБОЧИЙ КОД с /home/ivan/my_proga_super/xml/


Это переустанавливать и перенастроивать Томкат, геморой тот ещё, я его неделю мучался запускал, пока наконец все зависимости и переменные среды везде и верно прописал.
Сделал так:
в веб-проектах создаваемых в IDEA есть папка "resources", в эту папку загрузил нужный файл, а в коде обратился к ниму следующим образом:
Код: java
1.
way =new ClassPathResource(nameFile).getFile().getPath();


и далее уже использую:
Код: java
1.
2.
3.
4.
5.
6.
try(FileInputStream inputStream = new FileInputStream(relationWay)) {
            HSSFWorkbook workbook = new HSSFWorkbook(way);
                     
        } catch (IOException ex) {
            
        }



При сборке проекта данный файл попадает в war-архив, а при деплое на сервере размещается по пути webapps/nameProject/WEB-INF/classes, поэтому обновить если что получится.

Спасибо за помощь!!!
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964688
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Это переустанавливать и перенастроивать Томкат,

ЗАЧЕМ?
В папку /home я предлагал писать только те файлы которые вы заливаете на сервер.
Ну например, фотографии в альбом не пишут в папку томката.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964689
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Vlad__i__mir
Это переустанавливать и перенастроивать Томкат,

ЗАЧЕМ?
В папку /home я предлагал писать только те файлы которые вы заливаете на сервер.
Ну например, фотографии в альбом не пишут в папку томката.


Значит не правильно понял, действительно, так наверное разрешился конфликт с правами и доступом.

Спасибо, на будущее буду иметь в виду!
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964691
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Сделал так:

работает?
Тема исчерпана.
Только исключалки ловите все. Не фильтруйте один тип а остальные молчок.

Код: java
1.
 } catch (IOException ex) {


что будет с исключением по правам доступа?
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964692
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Vlad__i__mir
Сделал так:

работает?
Тема исчерпана.
Только исключалки ловите все. Не фильтруйте один тип а остальные молчок.

Код: java
1.
 } catch (IOException ex) {


что будет с исключением по правам доступа?


Да, работает.

Вот пока не знаю как эти исключения по правам доступа обработать
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964695
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Вот пока не знаю как эти исключения по правам доступа обработать

четырьмя шагами:
1. Ставить catch чтобы ловил всё
2. Заблокировать файл чтобы вылезла ошибка
3. Залогировать её
4. Снять блокировку
))
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964697
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
SpringMan
Зачем вообще вся эта возня с абсолютными путями?

дак у него вообще не с путями вопрос.
Мы не видим рабочий код на проде который можно потом оптимизировать подставляя переменные хоть с Луны
авторМожно дернуть Class.getResourceAsStream и получить инпутстрим файла из варки

Я вот ваш способ не понял).
варка это архив при деплое. А ему нужно работать после него.
Ну я как понял у него есть варка, в которой есть файл. Можно хранить файл в ресурсах и написать:
Код: java
1.
InputStream resourceAsStream = Main.class.getResourceAsStream("Hydrometcentre.xls");


получить стрим файла и дальше уже с ним делать, что хочет. Непонятно зачем тут вообще хранить где-то абсолютные пути
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964698
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Vlad__i__mir
Вот пока не знаю как эти исключения по правам доступа обработать

четырьмя шагами:
1. Ставить catch чтобы ловил всё
2. Заблокировать файл чтобы вылезла ошибка
3. Залогировать её
4. Снять блокировку
))


Почитаю как это делается в коде и постараюсь применить )
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964701
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
Почитаю как это делается в коде и постараюсь применить )

именно +1 )))
Ну а про переменные среды:
- добавим для всех юзверей в /etc/profile:
Код: java
1.
2.
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin


ВСЁ

- ЧИТАЕМ в коде:
Код: java
1.
Map<String, String> map = System.getenv();
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964703
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
в которой есть файл

да. Это ключевой момент.
Он ведь просил не файл параметров, а просто одну переменную.
Я его так понял.
Поэтому я посчитал что файл (куда пишем пути) тут лишний.
Удачи!
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964707
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эт да, с первого раза ниче не понятно)
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964708
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SpringMan
PetroNotC Sharp
пропущено...

дак у него вообще не с путями вопрос.
Мы не видим рабочий код на проде который можно потом оптимизировать подставляя переменные хоть с Луны
пропущено...

Я вот ваш способ не понял).
варка это архив при деплое. А ему нужно работать после него.

Ну я как понял у него есть варка, в которой есть файл. Можно хранить файл в ресурсах и написать:
Код: java
1.
InputStream resourceAsStream = Main.class.getResourceAsStream("Hydrometcentre.xls");


получить стрим файла и дальше уже с ним делать, что хочет. Непонятно зачем тут вообще хранить где-то абсолютные пути


Вот у меня так и получилось. Спасибо!
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964720
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
PetroNotC Sharp
пропущено...

дак у него вообще не с путями вопрос.
Мы не видим рабочий код на проде который можно потом оптимизировать подставляя переменные хоть с Луны
пропущено...

Я вот ваш способ не понял).
варка это архив при деплое. А ему нужно работать после него.

Ну я как понял у него есть варка, в которой есть файл. Можно хранить файл в ресурсах и написать:
Код: java
1.
InputStream resourceAsStream = Main.class.getResourceAsStream("Hydrometcentre.xls");


получить стрим файла и дальше уже с ним делать, что хочет. Непонятно зачем тут вообще хранить где-то абсолютные пути

Непонятно зачем ему вообще иметь "вечный" файл гидромедцентра? Когда-тож его надо будет обновить?

Вобщем как всегда. Автор захотел птичьего молока. И все мемберы кинулись его обслуживать в этом странном желании.

Дай бох то в следующий раз ему надо будет решать обобщённую задачу хранения документов а не частного случая.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964722
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp

что будет с исключением по правам доступа?

В данном случае - пофиг. Поскольку IOException - надмножество над другими (в.т.ч FileNotFound)
то единая ловушка поймает все что надо. А разделять их имеет смысл только тогда когда
автор по каждому из них принимает решение.

А он - никаких решений не принимает. Только аварийно вываливается.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964730
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Поскольку IOException - надмножество над другими
вот я не уверен что нет прав по доступу входят туда))
Один раз обжёгся со стримами. Могу тут пост поискать свой.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964731
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
IOException - надмножество над другими
И я тебя не понял. Надмножество НАД ВСЕМИ?
Если нет, то мы гасим и пропускаем их.
...
Рейтинг: 0 / 0
25 сообщений из 66, страница 2 из 3
Форумы / Java [игнор отключен] [закрыт для гостей] / Как задать относительную ссылку на файл для чтения в Springe-mvc
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]