the embedded-jetty projectを変更して、jarファイルに埋め込まれたディレクトリだけでなく、jspを含むディレクトリに対応できるa stand-alone jsp-viewerを作成しました。 結果のjarファイルは、macOSとLinux上で正常に動作します。私をエスケープ何らかの理由で、ログはそれだけで罰金ディレクトリを解決することを示しているが、 - 私が発見した何Jettyを使用してWindowsフォルダからファイルを提供できません
は、それがWindowsの上では動作しませんということです。私は、ディレクトリの内容を一覧表示する"dirAllowed"
プロパティを有効にしている、まだ私は一貫して関係なく、ディレクトリやファイル、このエラーを取得していない:
HTTP ERROR 404
Problem accessing /. Reason:
Not Found
私は不要なコードの多くをリッピングが、私は上の私のプロジェクトの主な違いを信じます桟橋からデモプロジェクトではなく、元の
> String userDir = System.getProperty("webroot");
> String webroot = (userDir != null && userDir.length() > 0)? userDir : ".";
> webroot = Paths.get(webroot).toAbsolutePath().normalize().toString();
この
012内のjarファイル内のハードコードされたパスで、私のプロジェクトが提供するディレクトリにwebroot
プロパティを参照する方法を示し、この差分であります file://
シンタックスについては、Windowsでこれを別の方法で処理する必要がありますか?コンソールから
出力MacOSの Windows上
./jsp-viewer/view-jsp /tmp
2017-01-02 15:53:50.456:INFO::main: Logging initialized @124ms to org.eclipse.jetty.util.log.StdErrLog
jan 02, 2017 3:53:50 PM com.github.fatso83.jspviewer.Main defaultServletHolder
INFO: Base URI: file:/tmp
2017-01-02 15:53:50.574:INFO:oejs.Server:main: jetty-9.4.z-SNAPSHOT
2017-01-02 15:53:50.737:INFO:oejs.session:main: DefaultSessionIdManager workerName=node0
2017-01-02 15:53:50.737:INFO:oejs.session:main: No SessionScavenger set, using defaults
2017-01-02 15:53:50.740:INFO:oejs.session:main: Scavenging every 660000ms
2017-01-02 15:53:50.756:INFO:oejsh.ContextHandler:main: Started [email protected]{/,file:///tmp/,AVAILABLE}
2017-01-02 15:53:50.779:INFO:oejs.AbstractConnector:main: Started [email protected]{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2017-01-02 15:53:50.779:INFO:oejs.Server:main: Started @451ms
jan 02, 2017 3:53:50 PM com.github.fatso83.jspviewer.Main getServerUri
INFO: Server URI: http://localhost:8080/
出力(Mingwを)
$ ./jsp-viewer/view-jsp /tmp/
2017-01-02 16:12:15.541:INFO::main: Logging initialized @266ms to org.eclipse.jetty.util.log.StdErrLog
jan 02, 2017 4:12:18 PM com.github.fatso83.jspviewer.Main defaultServletHolder
INFO: Base URI: file://C:/Users/SA_CAR~1.KOP/AppData/Local/Temp/2
2017-01-02 16:12:18.106:INFO:oejs.Server:main: jetty-9.4.z-SNAPSHOT
2017-01-02 16:12:18.449:INFO:oejs.session:main: DefaultSessionIdManager workerName=node0
2017-01-02 16:12:18.450:INFO:oejs.session:main: No SessionScavenger set, using defaults
2017-01-02 16:12:18.454:INFO:oejs.session:main: Scavenging every 600000ms
2017-01-02 16:12:18.475:INFO:oejsh.ContextHandler:main: Started [email protected]{/,file://C/Users/SA_CAR~1.KOP/AppData/Local/Temp/2,AVAILABLE}
2017-01-02 16:12:18.515:INFO:oejs.AbstractConnector:main: Started [email protected]{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2017-01-02 16:12:18.530:INFO:oejs.Server:main: Started @3261ms
jan 02, 2017 4:12:18 PM com.github.fatso83.jspviewer.Main getServerUri
INFO: Server URI: http://localhost:8080/