Я пытаюсь создать сайт со статусом c с stasis и обслуживать свои активы с помощью Optimus . Изображения находятся в / resources / public / imgs /. Я могу обслуживать отдельные изображения после их загрузки следующим образом:
(optimus.assets/load-assets "public"
["/imgs/pic1.jpg"
"/imgs/pic2.jpg"])
Однако следующая попытка обслуживания изображений с помощью регулярного выражения не работает:
(optimus.assets/load-assets "public"
[#"/imgs/.*\.jpg"])
Я получаю No files matched regex /imgs/.*\.jpg
, что кажется неправдоподобным.
Я покопался в коде Optimus и, возможно, нашел виновника. При вызове с регулярным выражением функция optimus.assets/load-assets
начинает строить пути из возвращаемого значения (optimus.class-path/file-paths-on-class-path)
, которое - в моем случае - состоит только из следующего:
optimus.class-path/file-paths-on-class-path
=> ("boot/" "boot/tag-release.properties" "boot/bin/" "boot/bin/ParentClassLoader.class" "Boot.class" "META-INF/" "META-INF/MANIFEST.MF")
Поскольку resources
isn ' t поддиректория любого из этих каталогов, я не удивлен, что не нашел совпадения. Так что, возможно, мой вопрос в конечном итоге заключается в том, почему я получаю здесь только эти каталоги? Это потому, что я использую Boot, а не Leiningen, что предполагается в руководствах по Optimus? настроить это. Следуя совету Алана Томпсона, я создал минимальный проект Leiningen - load-assets
работал безупречно. Однако та же самая установка с Boot не работает. В конечном итоге это сводится к тому, что (System/getProperty "java.class.path" ".")
возвращает совершенно разные вещи: Boot дает мне "/home/phylax/bin/boot"
, то есть мой загрузочный двоичный файл, тогда как в Leiningen он дает мне множество каталогов в моем реальном проекте ... любая идея относительно того, что я делаю неправильно ? Как я могу настроить загрузку для работы с Optimus?
Большое спасибо за любые советы, которые вы можете мне дать по этому поводу
Оливер