Hey,

Currently I have the use case that I have to set additional sys_vars in karaf
(those -Dthings). In specific, to set wicket to development mode I have to add a
-Dwicket.configuration=development. BUT I don't want to set those options
directly in the script (karaf.bat/".sh").

My idea was to add a KARAF_OPTS var which is used during calling the script. 
Then you can do:

export KARAF_OPTS=-Dwicket.configuration=development
bin/karaf

The changes are quite trivial (see patch; applies to karaf-2.1.x; but should
also apply to master IMHO). If you do not export KARAF_OPTS the part is simply
empty and will not change the behaviour, otherwise you can add system props as 
you
like.

Is there a better way? WDYT?

kind regards,
andreas

diff --git a/assembly/src/main/distribution/unix-shell/bin/karaf 
b/assembly/src/main/distribution/unix-shell/bin/karaf
index 636d78f..bb31df7 100755
--- a/assembly/src/main/distribution/unix-shell/bin/karaf
+++ b/assembly/src/main/distribution/unix-shell/bin/karaf
@@ -338,7 +338,7 @@ run() {
         CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
     fi
     cd "$KARAF_BASE"
-    exec "$JAVA" $JAVA_OPTS 
-Djava.endorsed.dirs="${JAVA_HOME}/jre/lib/endorsed:${JAVA_HOME}/lib/endorsed:${KARAF_HOME}/lib/endorsed"
 
-Djava.ext.dirs="${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext:${KARAF_HOME}/lib/ext"
 -Dkaraf.instances="${KARAF_HOME}/instances" -Dkaraf.home="$KARAF_HOME" 
-Dkaraf.base="$KARAF_BASE" -Dkaraf.data="$KARAF_DATA" 
-Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" 
$OPTS -classpath "$CLASSPATH" $MAIN "$@"
+    exec "$JAVA" $JAVA_OPTS 
-Djava.endorsed.dirs="${JAVA_HOME}/jre/lib/endorsed:${JAVA_HOME}/lib/endorsed:${KARAF_HOME}/lib/endorsed"
 
-Djava.ext.dirs="${JAVA_HOME}/jre/lib/ext:${JAVA_HOME}/lib/ext:${KARAF_HOME}/lib/ext"
 -Dkaraf.instances="${KARAF_HOME}/instances" -Dkaraf.home="$KARAF_HOME" 
-Dkaraf.base="$KARAF_BASE" -Dkaraf.data="$KARAF_DATA" 
-Djava.util.logging.config.file="$KARAF_BASE/etc/java.util.logging.properties" 
$KARAF_OPTS $OPTS -classpath "$CLASSPATH" $MAIN "$@"
 }
 
 main() {
diff --git a/assembly/src/main/distribution/windows-text/bin/karaf.bat 
b/assembly/src/main/distribution/windows-text/bin/karaf.bat
index 96817bf..55c137d 100755
--- a/assembly/src/main/distribution/windows-text/bin/karaf.bat
+++ b/assembly/src/main/distribution/windows-text/bin/karaf.bat
@@ -246,7 +246,7 @@ if "%KARAF_PROFILER%" == "" goto :RUN
     SET ARGS=%1 %2 %3 %4 %5 %6 %7 %8
     rem Execute the Java Virtual Machine
     cd %KARAF_BASE%
-    "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" 
-Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed"
 
-Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext"
 -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" 
-Dkaraf.base="%KARAF_BASE%" -Dkaraf.data="%KARAF_DATA%" 
-Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" 
%MAIN% %ARGS%
+    "%JAVA%" %JAVA_OPTS% %OPTS% -classpath "%CLASSPATH%" 
-Djava.endorsed.dirs="%JAVA_HOME%\jre\lib\endorsed;%JAVA_HOME%\lib\endorsed;%KARAF_HOME%\lib\endorsed"
 
-Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext;%JAVA_HOME%\lib\ext;%KARAF_HOME%\lib\ext"
 -Dkaraf.instances="%KARAF_HOME%\instances" -Dkaraf.home="%KARAF_HOME%" 
-Dkaraf.base="%KARAF_BASE%" -Dkaraf.data="%KARAF_DATA%" 
-Djava.util.logging.config.file="%KARAF_BASE%\etc\java.util.logging.properties" 
%KARAF_OPTS% %MAIN% %ARGS%
 
 rem # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 

Attachment: pgpXQo9slonE2.pgp
Description: PGP signature

Reply via email to