Optimus: load-assets не работают с Regex - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь создать сайт со статусом 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?

Большое спасибо за любые советы, которые вы можете мне дать по этому поводу

Оливер

...