4

組み込みの jetty サーバーを実行するプロジェクトがあります。また、プロジェクトの依存関係に angularjs-1.2.12.jar があります。

META-INF/resources からファイルを公開するように jetty を構成するにはどうすればよいですか。私は次のことをしようとしました:

    ResourceHandler resource_handler = new ResourceHandler();
    resource_handler.setDirectoriesListed(true);
    resource_handler.setWelcomeFiles(new String[]{ "index.html" });
    resource_handler.setBaseResource(Resource.newClassPathResource("/"));

    Server server = new Server(8080);
    server.setHandler(resource_handler);

ただし、ターゲット/クラスのファイルのみが公開されます。

ありがとうございました。

UPD: 解決済み

    ResourceHandler resource_handler = new ResourceHandler() {
        @Override
        public Resource getResource(String path)
                throws MalformedURLException {
            Resource resource = Resource.newClassPathResource(path);
            if (resource == null || !resource.exists()) {
                resource = Resource.newClassPathResource("META-INF/resources" + path);
            }
            return resource;
        }
    };
    resource_handler.setDirectoriesListed(true);
    resource_handler.setWelcomeFiles(new String[]{"index.html"});
    resource_handler.setResourceBase("/");
    server.setHandler(resource_handler);
4

1 に答える 1