powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Как задать относительную ссылку на файл для чтения в Springe-mvc
66 сообщений из 66, показаны все 3 страниц
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39961864
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Пишу Java-Spring приложение на локальном ПК (Windows). В данном приложении, при нажатии на кнопку идет считывание данных из файла Excel, путь к которому прописан в строковой переменной ("E:..."). Я это приложение размещаю на удаленном сервере (Linux). Это делаю закидывая war-архив в Tomcat и авто деплоя. Путь к файлу, из которого следует считывать данные, на сервере уже соответственно другой (/opt/tomcat/webapps/Wtr/).

Как задать ссылку на файл для чтения, если директории с файлом на ПК, где ведется разработка и на сервере разные?

Попробовал 2-а способа задать с помощью относительной ссылки относительно директории приложения:
1)
Код: java
1.
2.
3.
4.
@Autowired
ServletContext servletContext;

String wayPath=servletContext.getContextPath();// "/fast"


Он вернул "/fast", которая находится в "/opt/tomcat/webapps/". Если я туда кидаю свой файл, то после запуска отладки он просто удаляется. Поэтому на мой относительный путь "/Hydrometcentre.xls" вылетает исключение - Файл не найден.

2)
Код: java
1.
2.
3.
import java.io.File;

String wayPath2=new File(".").getAbsolutePath();// "E:\Fast_w\apache-tomcat-9.0.19\bin\."



Он возвращает - "E:\Fast_w\apache-tomcat-9.0.19\bin.". Но это директория самого Tomcat. Попытка туда закинуть файл, также вызвала исключение.

Что-то делаю не так.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39961871
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,
Пропиши путь в системную переменную Оси.
Если код не находит выдай ошибку: "не установлена переменная ENV_MY_PETRO
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39961981
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,


Заведите в property-file Spring-а переменную, где будет указан путь к вашему файлу.
Код: java
1.
2.
3.
4.
5.
6.
7.
@Configuration
@ConfigurationProperties(prefix="mycoolapp")
public MyCoolAppProperties {
    private String pathToExcelFile;
    // Getter & Setter
    ....
}



Код: java
1.
2.
3.
4.
5.
6.
7.
@SpringBootApplication
@EnableConfigurationProperties(MyCoolAppProperties.class)
public class MyCoolApp {
    public static void main(String[] args) {
        SpringApplication.run(MyCoolApp.class, args);
    }
}




application.yaml
Код: python
1.
2.
mycoolapp:
    pathToExcelFile: C:\excel.xls



Где-то так

application.yaml кладем рядом с jar-ником.
По идее он перкрывает, тот, что бдует собран в jar-нике
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964346
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mad_nazgul, у меня не SpringBoot, просто Spring. Это придется новые зависимости устанавливать.
Есть способ по проще? Костыль какой-нибудь?
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964367
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,
В твоем спринге web.xml есть?
Там тоже пару строк.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964368
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp, перепутал, есть pom.xml
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964370
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp, есть glassfish-web.xml
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964375
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp,
Попробовал прописать полный абсолютный путь на сервере заранее перед заливкой:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
String relationWay="/opt/tomcat/webapps/water_war/Hydrometcentre.xls";//way
        // Read XSL file
        FileInputStream inputStream = null;
        try {
            inputStream = new FileInputStream(new File(relationWay));
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        // Get the workbook instance for XLS file
        HSSFWorkbook workbook = null;
        try {
            workbook = new HSSFWorkbook(inputStream); // 139 строка
        } catch (IOException e) {
            e.printStackTrace();
        }



Та же ошибка в 139 строке кода, где создается объект книги:
авторRoot Cause

java.lang.NullPointerException
org.apache.poi.poifs.filesystem.POIFSFileSystem.closeInputStream(POIFSFileSystem.java:333)
org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:321)
org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:401)
org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:382)
service.ReadExcel.readExcelAll(ReadExcel.java:139)
controller.UserController.administration(UserController.java:134)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)
javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964405
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,
Мой выше вариант прочитать с операционки чем не подошел?
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964406
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,
>Попробовал прописать полный абсолютный путь на сервере заранее перед заливкой:
==
Я запутался у тебя.
Напиши тут в какой директории работает программа.
И потом мы подскажем как сделать чтобы на любом сервере работало.
Или у тебя вообще нигде не работает?
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964542
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,

Дружище. Кто тебя учил так работать с exceptions?

Они - не для того чтобы на экране печатать стектрейс.

А для того чтобы отработать логику принятия решений в случае аварии.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964592
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp, после того как я собрал у себя на ПК под Windows war-архив, я его деплою на удаленный сервер Linux через Tomcat Menager. После диплоя war-архива на сервере Tomcat в директории /opt/tomcat/webapps/ создается папка данного приложения "Wtr" из которой оно и работает. В этой папке (/opt/tomcat/webapps/Wtr/) создаются 2 рабочие папки - META-INF и WEB-INF. В общем на удаленном сервере всё приложение размещено в директории /opt/tomcat/webapps/Wtr/.

У меня на ПК оно диплоится и работает из папки E:\Fast_wt\apache-tomcat-9.0.19\webapps\water, а файл к которому я обращаюсь по абсолютному пути лежит в E:\Fast_wt\apache-tomcat-9.0.19\webapps.

На сервере я загружаю файл в директорию /opt/tomcat/webapps/, но не знаю как прописать так путь что бы приложение его нашло.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964595
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir, в дебаггере в калькуляторе просто исполни эту строку.

Код: java
1.
new File("/opt/tomcat/webapps/water_war/Hydrometcentre.xls")



Если путь верный - ты получишь ненулевоей объект InputStream. Если путь неверный - будет
FileNotFoundEx.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964599
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton, пока нужно добиться чтобы заработало, а потом уже буду дописывать нюансы
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964602
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir
я его деплою на удаленный сервер Linux через Tomcat Menager.

выше ты сказал что у тебя glassFish файл сервера?
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964604
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton, нет у меня на сервере дебагера, там стоит Линукс без графической оболочки, поставил ещё jdk, Tomcat, mysql and java-mysql connector, и все )
Я так пробовал 22142705 , не получилось, возможно тут ещё конфликт прав root и пользователя под которым работает приложение. Проверю ещё это
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964605
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,
ЕЩЁ РАЗ!
Отвечай на все посты что тебе пишут мемберы!
Это хороший тон.
22142745
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964606
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp, у меня Tomcat, а почему он так этот файл назвал, или я его не создавал, когда сперва хотел глассфише деплоить, в общем это фигня
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964607
Vlad__i__mir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Vlad__i__mir,
Мой выше вариант прочитать с операционки чем не подошел?

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

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

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

Не знаю как это сделать
Сказал бы неделю назад. Не надо тут стеснятся по девчачьи.
А записать в линукс переменную умеем? Или тоже показать?


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

Код: java
1.
new File("/opt/tomcat/webapps/water_war/Hydrometcentre.xls")



Если путь верный - ты получишь ненулевоей объект InputStream. Если путь неверный - будет
FileNotFoundEx.


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

- пропиши жестко гвоздями в коде и ответь на вопрос - работает на боевой машинке?
А потом уже с переменной и путями.


Само приложение работает, но когда обращаюсь к файлу, то выдает ошибку 22142705.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в 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
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964752
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vlad__i__mir,

Вообще сколько я работал с этими томкатам glassfish weblogic и т.д...
Чтобы класть свои рабочие файлы по относительному пути надо узнать их ROOT (Иногда он очень хитрый )
Для этого в приложении я сохраняю файл с именем типа
Код: java
1.
new File("ляляляля")


а потом файловым менеджером поиск этого "ляляляля" Где файловый менеджер найдёт этот файл и будет корень вашего сервера приложения...Тута и кидайте свои папки. И работайте с относительным путём(Ну а new File("ляляляля") закомментируйте)
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964765
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al
Код: java
1.
new File("ляляляля")


я тоже так делаю.
Только после отладки на проде они уже не могут быть в папке сервера - неудобно!
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964767
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
irbis_al
Код: java
1.
new File("ляляляля")


я тоже так делаю.
Только после отладки на проде они уже не могут быть в папке сервера - неудобно!


Нет корень приложения остается ..даже в версиях переходит...Другой разговор если отлаживаете TOMcat а деплоите в прод на glassfish тогда ...да у них разный ROOT (В java коде ничего не меняется...но файлы надо положить в корень glassfish он хитрый
Код: java
1.
{папка с glassfish}/glassfish/domains/domain1/config


)
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964771
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al, обычно любой процесс ОС (будь то Windows или Unix) стартует в неком окружении
переменных. Из таковых есть

Код: java
1.
System.getProperty("user.dir");



Это что-то типа хоум каталога приложения. И все относительные файловые пути
будут брать этот дир как условный /root.

И твой файл "ляляляля" скорее всего упадёт именно в этот "user.dir".

Проверь этот факт.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964772
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
irbis_al, обычно любой процесс ОС (будь то Windows или Unix) стартует в неком окружении
переменных. Из таковых есть

Код: java
1.
System.getProperty("user.dir");



Это что-то типа хоум каталога приложения. И все относительные файловые пути
будут брать этот дир как условный /root.

И твой файл "ляляляля" скорее всего упадёт именно в этот "user.dir".

Проверь этот факт.


А вот не совсем так...если в IDE отлаживаешь...которая сама деплоит в свой "карманный сервер приложений"...она может вернуть своё окружение...я проверял.(С тех времён может что-то поменялось..но пока нахождения ROOT путем сохранения файла однозначно надежный способ)
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964775
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al

А вот не совсем так...если в IDE отлаживаешь...которая сама деплоит в свой "карманный сервер приложений"...она может вернуть своё окружение...я проверял.

Я-же говорю о фактическом значении user.dir на момент исполнения модульных тестов к примеру или запуска
приложения в IDE.

Говорю-ж проверь.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964776
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
IOException - надмножество над другими
И я тебя не понял. Надмножество НАД ВСЕМИ?
Если нет, то мы гасим и пропускаем их.

Ну ты видел как я зарефакторил код автора?

Зачем я буду обрабатывать все Exceptions когда из checked там присутствуют только IO, FileNotFound?

Предложи свой рефакторинг и я посмотрю. Зачем слова впустую тратить?
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964779
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al,
Не понял про корень приложения. Он же всегда внутри папки всего сервера.
Я выше говорил про папку СЕРВЕРА.
Любой корень плохо если это внутри папки сервера.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964783
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Зачем мне?
Выше 4 пункта. Автор сделает и увидет райзе по правам.
Отпишется.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964784
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
irbis_al,
Не понял про корень приложения. Он же всегда внутри папки всего сервера.
Я выше говорил про папку СЕРВЕРА.
Любой корень плохо если это внутри папки сервера.


Да чем плохо-то?Да он всегда внутри папки сервера приложения и для однотипных серверов одинаков..
А вот если он за папкой сервера приложения...то это уже может нарушить систему безопасности(и возможность доступа) Linux и тем паче SElinux(Это такая фишка Linux ..Добавляется безопасность по контексту)
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964792
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al,
У меня были глюки с глассфишем. При удалении приложения он удалял все свои папки с тем что внутри.
Как туда бизнес писать?
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964794
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al,
АппСервер пишет с правами того с кем он стартует.
Нет проблем с безопасностью.
Конкретнее.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964796
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irbis_al,
Ну и 3 приложения фотоальбомов куда пишут фотки?
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964802
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
irbis_al,
АппСервер пишет с правами того с кем он стартует.
Нет проблем с безопасностью.
Конкретнее.


Мне кажется тема топика раскрыта...автору сказали как работать с относительный путем и найти его абсолютный внутри папки сервера приложения...а остальное это уже наши субъективные взгляды и перетирать это можно неделями.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964803
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щас самое время закрыть топик.
...
Рейтинг: 0 / 0
Как задать относительную ссылку на файл для чтения в Springe-mvc
    #39964805
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Щас самое время закрыть топик.
да
...
Рейтинг: 0 / 0
66 сообщений из 66, показаны все 3 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Как задать относительную ссылку на файл для чтения в Springe-mvc
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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