Вы, кажется, храните свой CSS-файл в classpath по какой-то неочевидной причине.Имя папки src
является типичным именем по умолчанию для исходной папки проекта Eclipse.И то, что он, по-видимому, волшебным образом работает как относительный путь в конструкторе File
(плохой, плохой), только подтверждает, что вы запускаете его в контексте IDE.
Это действительно не переносимо.
Вы не должны использовать конструктор File
.Если ресурс находится в пути к классам, вам нужно получить его как ресурс из пути к классам.
InputStream input = getClass().getResourceAsStream("/main/webapp/resources/styles/some.css");
// ...
Предполагая, что текущий класс работает в том же контексте, это будет работать независимо от среды выполнения.
См. Также:
Обновление : ах, функциональные требования теперь более понятны.
На самом деле яхочу получить lastModified из файла.Возможно ли это с InputStream?-
Используйте getResource()
вместо этого, чтобы получить его как URL
.Затем вы можете открыть соединение по нему и запросить lastModified
.
URL url = getClass().getResource("/main/webapp/resources/styles/some.css");
long lastModified = url.openConnection().getLastModified();
// ...