Обслуживать сетевой каталог с 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, вам придется реализовать некоторые протоколы (или лучше использовать третьих сторон)