Java sering disebut dengan path absolut seperti /usr/bin/java, yang membuat jawaban ini tidak berguna dalam beberapa kasus, dan membutuhkan lebih banyak untuk membuatnya bekerja di yang lain.
Solusi yang saya temukan memerlukan penulisan skrip shell pembungkus yang mengarahkan ulang STDERR melalui filter menghapus garis yang menyinggung. Itu harus ditempatkan di $PATHsebelum java binary membungkusnya dan dipanggil dengan plain java, which javaatau serupa (atau alat Anda harus dikonfigurasi untuk menggunakannya)
Itu bergantung pada kemampuan bash untuk membuat subkulit dengan tanda kurung (command), dan mengarahkan STDERR java ke STDIN-nya command1 2> >(command2). Akhirnya, proses dalam subkulit perlu mengarahkan ulang input yang difilter ke STDOUT lagi sehingga program java masih dapat menggunakan STDERR.
#!/bin/bash
/usr/bin/java "$@" 2> >(grep -v "^Picked up _JAVA_OPTIONS:" >&2)
docker build- tapi saya berganti nama${JAVA_HOME}/bin/javamenjadijava2dan menempatkan versi modifikasi dari skrip ini di sana sebagaijava(denganchmod +x). Bekerja seperti pesona!