karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Opher Shachar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KARAF-2270) Service wrapper assumes java is on system path
Date Tue, 27 Aug 2013 23:27:53 GMT

    [ https://issues.apache.org/jira/browse/KARAF-2270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13751877#comment-13751877

Opher Shachar commented on KARAF-2270:

Hello Jean,
It seems to me that the change to [karaf-service|http://svn.apache.org/viewvc/karaf/branches/karaf-2.3.x/shell/wrapper/src/main/resources/org/apache/karaf/shell/wrapper/unix/karaf-service?r1=1517771&r2=1517770&pathrev=1517771]
is functionally equivalent to the previous version:
- If {{JAVA_HOME}} environment variable is set (eg. to the system default JDK since the script
is invoked by {{init}}) then the check {{[ -z $JAVA_HOME ]}} fails and the script wont change
{{JAVA_HOME}} environment variable.
- If {{JAVA_HOME}} environment variable is unset the script will set it to the system default
JDK (or JRE).
- If no system default {{java}} is installed the script leaves {{JAVA_HOME}} environment variable
unset, causing *only in this scenario* {{wrapper.conf}}'s default {{JAVA_HOME}} to kick in.

...and so it doesn't fix the issue in your comment:
bq. I reopen this issue because the karaf-service script ignores the JAVA_HOME define in the
wrapper.conf file and always override it using readlink.
Consider the case where there is a system default JDK installed that is not compatible with
Karaf (eg. JDK 1.5 installed as a system default).
Since the script is invoked by {{init}} there is no outside way to set JAVA_HOME to a compatible
JDK 1.6 installed somewhere in the system (that was set in {{wrapper.conf}} by the install
process). The result will always be that the wrapper tries to invoke Karaf with a JDK 1.5
and fails.
Perhaps you could consider changing {{wrapper.conf}}'s behavior to *set* the JDK home *ignoring*
JAVA_HOME environment variable --- by changing:{code}set.default.JAVA_HOME=${java.home}{code}
to {code}set.JAVA_HOME=${java.home}{code}
or loosing the code in the service-script that mangles JAVA_HOME,
or documenting that hand editing the service-script is necessary in such a scenario.
> Service wrapper assumes java is on system path
> ----------------------------------------------
>                 Key: KARAF-2270
>                 URL: https://issues.apache.org/jira/browse/KARAF-2270
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf-os-integration
>    Affects Versions: 2.3.1
>         Environment: windows, linux
>            Reporter: Brian Emond
>            Assignee: Jean-Baptiste Onofré
>             Fix For: 2.3.3, 2.4.0, 3.0.0
> In the service wrapper conf file, the wrapper.java.command property points directly to
java, and not to a fully qualified path to java. This assumes that java is on the system path,
which it may not. The value should be:
> wrapper.java.command=%JAVA_HOME%/bin/java
> This ensures the wrapper is using the java executable established from setting the JAVA_HOME
variable under the Wrapper Properties a few lines up in the conf file.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message