Se você estiver usando JAX-RS, sempre declare seus recursos usando interfaces:
@Path("/myresource")
public interface MyResource {
@GET
Response get(@QueryParam("param") String param);
...
}
Isso tem várias vantagens:
Você pode colocar seus recursos em pacotes públicos de um módulo (ou mesmo em um módulo “api” separado) que estão disponíveis para outros módulos, sem expor qualquer implementação.
Você ainda pode usar funções auxiliares como UriBuilder.fromResource (…) para obter o URI de seus recursos. Isso é útil se você deseja enviar cabeçalhos de redirecionamento. Essas interfaces, na verdade, serão a fonte autorizada para URIs de recursos.
Finalmente, o pacote (e seus subpacotes) onde você decide colocar sua declaração de recurso conterá uma especificação agradável, concisa e atualizada de sua API HTTP.