Работает ли этот код, зависит от того, имеет ли загрузчик классов, который загрузил вызывающий класс, представленный в вашем коде getClass()
, доступ к /WEB-INF/classes
.По-видимому, рассматриваемый класс сам по себе не находится внутри /WEB-INF/classes
или имеет копию, которая размещена в другом месте в пути к классам, и в make / version сервера, используемой в среде Linux, используется несколько иная иерархия загрузчика классов, чем в версии / сервере, используемой вСреда Windows.
Факт: если вы не можете гарантировать, что файл свойств будет загружен тем же загрузчиком классов, что и вызывающий класс, то вам не следует пытаться получить его загрузчиком классов вызывающего класса., но загрузчиком класса контекста текущего потока.Он имеет доступ ко всему.
prop.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("Myservice.properties"));
Обратите внимание, что с этим загрузчиком классов путь не может быть относительным.Так что не начинайте с косой черты.