grep imprime nomes de arquivos E retorna um valor True / False; Se o valor for True, a ação -print imprimirá o arquivo. Então você tem duas possibilidades:
find . -name '*.java' -exec grep -l 'someText' {} \; 2>/dev/null
ou
find . -name '*.java' -exec grep -q 'someText' {} \; -print 2>/dev/null
E lembre-se de citar *.java . Caso contrário, o shell pode expandi-lo para a lista de arquivos java no diretório atual.
Observe também que você não precisa executar um grep por arquivo, é melhor você fazer isso:
find . -name '*.java' -exec grep -l 'someText' {} + 2>/dev/null
Observe que 2>/dev/null suprime os erros de find e grep . Se você quiser apenas tornar grep quieto, poderá escrevê-lo:
find . -name '*.java' -exec grep -sl 'someText' {} +
Por fim, observe que a implementação GNU de grep também pode fazer o trabalho de find :
grep -slr --include='*.java' 'someText' .