2016-08-20 4 views
1

У меня есть основное приложение искрового Java, где я установить местоположение моих статических ресурсов, как:Исключения при установке статического местоположения в банке

Spark.staticFiles.location("/static"); 

Он отлично работает, когда я запускаю его в моем IDE с помощью, когда я попробуйте запустить его из баночки, я получаю

spark.staticfiles.StaticFilesConfiguration - Error when creating StaticResourceHandler 
java.io.FileNotFoundException: class path resource [static] cannot be resolved to URL because it does not exist 
at spark.resource.ClassPathResource.getURL(ClassPathResource.java:166) 

Я нашел this thread, рассматривающую подобный вопрос. Он утверждает, что исправлен в 2.5, но я выполняю 2.5 и все еще испытываю эту проблему.

Кто-нибудь нашел способ обойти эту проблему, кроме как не использовать искру для статики и подавать их снаружи из CDN?

ответ

0

Ваш каталог /static должен находиться в корне вашего пути к классу, который соответствует вашей структуре проекта. Если вы используете структуру maven, вы можете создать свой статический каталог в каталоге /resources. Другим подходом будет создание вашего каталога /static в виде пакета java, который гарантирует, что он находится внутри вашего пути к классам.

+0

Моя статическая папка была в правильном месте, но все еще не работала. Я закончил тем, что все взломал и разворачивал это вместо баночки, и это, похоже, работает. – ptulula

0

У меня была такая же проблема. При попытке запустить из банки. Вы должны использовать внешнее расположение при сборке в банке.

staticFiles.externalLocation (System.getProperty ("app.dir") + "\ public");

E.g. ваш каталог приложений: C: \ server. Применение встраивать C: \ сервер \ app.jar и ваш HTML, JS файл, расположенный в C: \ сервер \ общественной

Вы должны запустить приложение из CMD: Java -Dapp.dir = "C: \ server" -jar app.jar

 Смежные вопросы

  • Нет связанных вопросов^_^