Requires: java
Deve fazer quase o que você precisa. Pelo menos no RHEL / CentOS, todos os pacotes Java possuem um Provides: java
e serão puxados com o Requires
acima. No entanto, você obterá o Java mais recente se nenhum estiver instalado, não o padrão. Se um já estiver instalado, a dependência já está preenchida e nada acontece.