Moin,
so, nachdem ich mir noch mal genau angesehen habe, was so passiert wenn fop gestartet wird konnte ich es jetzt lösen. Bin mir zwar nicht sicher,
ob das der offizielle Weg ist (in den Dokus hab ich nichts gefunden). Ich vermute mal das gilt so auch für andere Java-Programme unter Gentoo. Hier meine Lösung am Beispiel von fop:
Das Kommando fop ist nur ein Bash-Script und liegt unter /usr/bin:
|
Quellcode
|
1
2
3
4
|
#!/bin/bash
gjl_package=fop
gjl_main="org.apache.fop.cli.Main"
source /usr/share/java-config-2/launcher/launcher.bash
|
Die eigentliche Arbeit macht der launcher. Wenn man fop mit
|
Quellcode
|
1
|
GJL_DEBUG=1 fop -fo beispiel.fo -pdf beispiel.pdf
|
startet, gibt es ein paar Debug-Ausgaben, dann sieht ein wenig von dem, was der Launcher macht. GJL steht vermutlich für Gentoo Java Launcher?
Wenn man sich den Code des Launchers ansieht (ist auch ein Bashscript), findet man am Anfang folgendes:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
|
# Source package env
# ---------------------
gjl_user_env="${HOME}/.gentoo/java-config-2/launcher.d/${gjl_package}"
gjl_system_env="/etc/java-config-2/launcher.d/${gjl_package}"
if [[ -f "${gjl_user_env}" ]]; then
source "${gjl_user_env}"
elif [[ -f "${gjl_system_env}" ]]; then
source "${gjl_system_env}"
fi
|
Hier werden, sofern vorhanden, zwei Dateien ausgewertet, eine systemweit gültige und eine benutzerspezifische. Bei mir existiert keines der beiden Verzeichnisse.
Weiter unten im Code des Launchers ist folgende Zeile zu finden:
|
Quellcode
|
1
|
exec java ${gjl_args} ${gjl_java_args} ${gjl_starte} ${gjl_pkg_args} "${@}"
|
Wenn man nun eine Datei in einem der launcher.d-Verzeichnisse (die man unter Umständen noch anlegen muss) mit dem Namen des Packetes (hier fop) angelegt, und dort folgendes reinschreibt:
|
Quellcode
|
1
|
exec java ${gjl_args} ${gjl_java_args} ${gjl_starte} ${gjl_pkg_args} "${@}"
|
wird das wie gewünscht als Option an die JVM übergeben.
Gruß
Stareagle