Eu estava usando Java em conjunto com arquivos-fonte Rhino e JavaScript para Citero e não tinha parado para pensar se eles estavam sendo empacotados ou não. Acontece que não eram, mas felizmente descobri como fazer do jeito Maven.
Em primeiro lugar, você deve seguir a estrutura de diretórios do maven . Acontece que recursos não-java não vão em src / main / java / (duh!). Eles vão em src / main / resources (doi!) . O Maven empacotará automaticamente tudo nesse diretório e manterá a estrutura do diretório quando você executar mvn package
.
Em segundo lugar, para acessar esses mesmos recursos de dentro do seu projeto, você pode usar getClass().getResource()
os getClass().getResourceAsStream()
métodos ou .
E finalmente você pode usar StringWriter
e IOUtils
(Apache Commons) para converter esse idiota em uma string !