Обслуживать сетевой каталог с Jetty-Runner

Мне нужно, чтобы моя сетевая папка была доступна через веб-URL. Я использую причал для обслуживания каталогов.

Моя сетевая папка \\nas01.internal.local Я могу использовать этот путь в проводнике для просмотра \ копирования \ удаления файлов. Мне нужно сделать его доступным через веб-URl.

С пристани я могу сделать d:\ доступно через http://localhost:8080,

java -jar jetty-runner.jar d:\

Но я не могу сделать то же самое с сетевым ресурсом

java -jar jetty-runner.jar \\nas01.internal.local

Я получаю следующую ошибку,

2016-05-18 08:18:47.530:INFO::main: Logging initialized @228ms
2016-05-18 08:18:47.561:INFO:oejr.Runner:main: Runner
java.net.MalformedURLException: no protocol: \\nas01.internal.local
        at java.net.URL.<init>(Unknown Source)
        at java.net.URL.<init>(Unknown Source)
        at java.net.URL.<init>(Unknown Source)
        at org.eclipse.jetty.util.resource.Resource.newResource(Resource.java:16
2)
        at org.eclipse.jetty.util.resource.Resource.newResource(Resource.java:14
6)
        at org.eclipse.jetty.runner.Runner.configure(Runner.java:418)
        at org.eclipse.jetty.runner.Runner.main(Runner.java:556)
Usage: java [-Djetty.home=dir] -jar jetty-runner.jar [--help|--version] [ server
 opts] [[ context opts] context ...]
Server opts:
 --version                           - display version and exit
 --log file                          - request log filename (with optional 'yyyy
_mm_dd' wildcard
 --out file                          - info/warn/debug log filename (with option
al 'yyyy_mm_dd' wildcard
 --host name|ip                      - interface to listen on (default is all in
terfaces)
 --port n                            - port to listen on (default 8080)
 --stop-port n                       - port to listen for stop command
 --stop-key n                        - security string for stop command (require
d if --stop-port is present)
 [--jar file]*n                      - each tuple specifies an extra jar to be a
dded to the classloader
 [--lib dir]*n                       - each tuple specifies an extra directory o
f jars to be added to the classloader
 [--classes dir]*n                   - each tuple specifies an extra directory o
f classes to be added to the classloader
 --stats [unsecure|realm.properties] - enable stats gathering servlet context
 [--config file]*n                   - each tuple specifies the name of a jetty
xml config file to apply (in the order defined)
Context opts:
 [[--path /path] context]*n          - WAR file, web app dir or context xml file
, optionally with a context path

Это возможно с причалом?

1 ответ

Решение

Я думаю, что в этом случае лучше всего было бы "смонтировать" \nas01.internal.local на какой-нибудь локальный диск (скажем, Z:) и указать пристань для запуска с ним.

Это монтирование выполняется на уровне ОС, поэтому с точки зрения Java-приложения диск будет вести себя как локальный.

В противном случае, поскольку причина в том, что для связи с NAS недостаточно использовать встроенный URL-адрес Java, вам придется реализовать некоторые протоколы (или лучше использовать третьих сторон)

Другие вопросы по тегам