Como posso usar <h: outputScript /> com um arquivo remoto?

Eu tenho um servidor dedicado para conteúdo estático, então eu não quero usar o diretório de recursos para armazenar arquivos javascript, mas eu não quero parar de usar o<h:outputScript /> tag.

Como posso fazer com que essa tag gere um link para o meu servidor estático onde os arquivos estão localizados em vez deRES_NOT_FOUND. Eu nem preciso que o JSF verifique se os arquivos estão lá ...

Eu tentei:<h:outputScript name="#{requestBean.staticURL}/javascript.js"/>

Para gerar:<script type="text/javascript" src="http://static.server.com/javascript.js"></script>

Mas gera:<script type="text/javascript" src="RES_NOT_FOUND"></script>

O que eu posso fazer?

SOLUÇÃO: Daniel me indicou uma boa solução!

Eu baixei o código fonte do Omnifaces e modifiquei oorg.omnifaces.resourcehandler.CDNResourceHandle.createResource(String resourceName, String libraryName) método para:

public Resource createResource(String resourceName, String libraryName) {
    final Resource resource = wrapped.createResource(resourceName, libraryName);

    if (cdnResources == null) {
        return resource;
    }

    String resourceId = ((libraryName != null) ? libraryName + ":" : "") + resourceName;

    String path = cdnResources.get(resourceId);

    if(path == null){
        if(libraryName != null){
            resourceId = libraryName + ":%";
            path = cdnResources.get(resourceId);
            if(path == null){
                return resource;
            }
            path += "/"+resourceName;
        }
        else return resource;
    }

    final String requestPath = path;

    return new ResourceWrapper() {

        @Override
        public String getRequestPath() {
            return requestPath;
        }

        @Override
        public Resource getWrapped() {
            return resource;
        }
    };
}

Com essa mudança, posso adicionar isso ao meuweb.xml Arquivo

<context-param>
    <param-name>org.omnifaces.CDN_RESOURCE_HANDLER_URLS</param-name>
    <param-value>
        somelib2:%=http://cdn.example.com/somelib2,
        js/script1.js=http://cdn.example.com/js/script1.js,
        somelib:js/script2.js=http://cdn.example.com/somelib/js/script2.js,
        otherlib:style.css=http://cdn.example.com/otherlib/style.css,
        images/logo.png=http://cdn.example.com/logo.png
   </param-value>
</context-param>

Observe osomelib2:%=http://cdn.example.com/somelib2, isso apontará qualquer recurso emsomelib2 biblioteca para o caminho relativo emhttp://cdn.example.com/somelib2, por exemplo:

<h:outputScript name="js/myjs.js" library="somelib2" />

irá produzir:

<script type="text/javascript" src="http://cdn.example.com/somelib2/js/myjs.js"></script>

Isso funciona com<h:outputScript /><h:outputStylesheet /><h:graphicImage />qualquer coisa que use recursos;

questionAnswers(2)

yourAnswerToTheQuestion