Changeset 14726


Ignore:
Timestamp:
2007-10-24T09:21:41+13:00 (15 years ago)
Author:
qq6
Message:

looking for the JRE home first then the JAVA home

Location:
greenstone3/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • greenstone3/trunk/gs3-setup.bat

    r13932 r14726  
    11@echo off
     2
     3::get user defined environment variable
     4set JRE_HOME=
     5set JAVA_HOME=
     6set CLASSPATH=
    27
    38if exist gs3-setup.bat goto start
     
    3338del setcp.bat
    3439
    35 echo CLASSPATH: %CLASSPATH%
     40goto findJREHOME
    3641
    37 ::cd %GSDL3HOME%
     42:: ---- Check JRE_HOME ----
     43:findJREHOME
     44if not "%JRE_HOME%" == "" goto testJREHOME
     45   goto findJREHOME2     
    3846
    39 :findJava
    40 :: ---- Check Java SDK exists ----
    41 set JAVAPATH=
     47::---- try JREHOME ----
     48:findJREHOME2
     49if "%JREHOME%" == "" goto findJAVAHOME 
     50   set JRE_HOME=%JREHOME%
     51   testJREHOME
    4252
    43 :: Some users may set the above line manually
    44 if not "%JAVAPATH%" == "" goto testJava
    45    
    46 :: If it is set, use the JAVA_HOME environment variable
    47     if not "%JAVA_HOME%" == "" goto javahome
     53::test JRE_HOME is set correctly
     54:testJREHOME
     55if exist "%JRE_HOME%\bin\java.exe" goto gotJREHOME
     56   echo JRE_HOME: "%JRE_HOME%" 
     57   echo Couldn't find "%JRE_HOME%\bin\java.exe"
     58   echo The JRE_HOME environment variable is not defined correctly
     59   echo This environment variable is needed to run this program
     60   goto pauseANdExit   
    4861
    49     :: Check if Java is on the search path
    50     echo %PATH%| winutil\which.exe java.exe | winutil\setvar.exe JAVAPATH > setjava.bat
    51     call setjava.bat
    52     del setjava.bat
    53     echo %JAVAPATH%
    54     if not "%JAVAPATH%" == "" goto testJava
    5562
    56     :: Still haven't found anything, so try looking in the registry (gulp!)
    57     type nul > jdk.reg
    58     regedit /E jdk.reg "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
    59     type jdk.reg > jdk.txt
    60     del jdk.reg
    61     type nul > jre.reg
    62     regedit /E jre.reg "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment"
    63     type jre.reg > jre.txt
    64     del jre.reg
     63::set the RUNJAVA and exit
     64:gotJREHOME
     65 set RUNJAVA=%JRE_HOME%\bin\java.exe
     66 set PATH=%JRE_HOME%\bin;%PATH%
     67 echo JRE_HOME: "%JRE_HOME%"
     68 echo Your environment has successfully been set up to run Greenstone3
     69 goto exit
    6570
    66     winutil\findjava.exe jdk.txt jre.txt | winutil\setvar.exe JAVAPATH > setjava.bat
    67     del jdk.txt
    68     del jre.txt
    69     call setjava.bat
    70     del setjava.bat
    7171
    72     :: If nothing was found in the registry, we're stuck
    73     if "%JAVAPATH%" == "" goto noJava
     72:: ---- check JAVA_HOME ----
     73:findJAVAHOME
     74if not "%JAVA_HOME%" == "" goto testJAVAHOME
     75   goto findJAVAHOME2
    7476
    75     set JAVAPATH=%JAVAPATH%\bin
    76     goto testJava
     77 
     78::---- check JAVAHOME ----
     79:findJAVAHOME2
     80if "%JAVAHOME%" == "" goto noJAVAHOME 
     81   set JAVA_HOME=%JAVAHOME%
     82   testJAVAHOME
    7783
    78 :javahome
    79     set JAVAPATH=%JAVA_HOME%\bin
    8084
    81 :testJava
    82 if exist "%JAVAPATH%\java.exe" goto  exit
     85:: test JAVA_HOME is set Correctly
     86:testJAVAHOME
     87if not exist "%JAVA_HOME%\bin\java.exe" goto wrongJAVAHOME
     88if not exist "%JAVA_HOME%\bin\javac.exe" goto wrongJAVAHOME2
     89goto gotJAVAHOME
     90
     91
     92:wrongJAVAHOME
     93echo JAVA_HOME: "%JAVA_HOME%"
     94echo Couldn't find "%JAVA_HOME%\bin\java.exe"
     95echo The JAVA_HOME environment variable is not defined correctly
     96echo This environment variable is needed to run this program
     97goto pauseANdExit 
     98
     99:wrongJAVAHOME2
     100echo JAVA_HOME: "%JAVA_HOME%"
     101echo Couldn't find "%JAVA_HOME%\bin\javac.exe"
     102echo The JAVA_HOME environment variable is not defined correctly
     103echo This environment variable is needed to run this program
     104echo NB: JAVA_HOME should point to a JDK not a JRE
     105goto pauseANdExit
     106
     107::set the RUNJAVA and exit
     108:gotJAVAHOME
     109 set RUNJAVA=%JAVA_HOME%\bin\java.exe
     110 set PATH=%JAVA_HOME%\bin;%PATH%
     111 echo JAVA_HOME: "%JAVA_HOME%"
     112 echo Your environment has successfully been set up to run Greenstone3
     113 goto exit
     114
     115::try find java on the search path
     116:noJAVAHOME
     117:: Check if Java is on the search path
     118 echo %PATH%| winutil\which.exe java.exe | winutil\setvar.exe JAVAPATH > setjava.bat
     119 call setjava.bat
     120 del setjava.bat
     121
     122if exist "%JAVAPATH%\bin\java.exe" goto gotJava
     123 :: Still haven't found anything, so try looking in the registry (gulp!)
     124  type nul > jdk.reg
     125  regedit /E jdk.reg "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
     126  type jdk.reg > jdk.txt
     127  del jdk.reg
     128  type nul > jre.reg
     129  regedit /E jre.reg "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment"
     130  type jre.reg > jre.txt
     131  del jre.reg
     132
     133  winutil\findjava.exe jdk.txt jre.txt | winutil\setvar.exe JAVAPATH > setjava.bat
     134  del jdk.txt
     135  del jre.txt
     136  call setjava.bat
     137  del setjava.bat
     138
     139  :: If nothing was found in the registry, we're stuck
     140  if "%JAVAPATH%" == "" goto noJava
     141    goto gotJava
     142
     143:gotJava
     144  set JRE_HOME=%JAVAPATH%
     145  goto testJREHOME
    83146
    84147
    85148:noJava
    86     echo.
    87     echo Failed to locate an appropriate version of Java. You must install a
    88     echo Java Development Kit (version 1.4 or greater) before running the
     149    echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
     150    echo At least one of these environment variable is needed to run Greenstone3 
     151    echo You must install a Java Run Environment (version 1.4 or greater)
     152    echo and set the JRE_HOME environment variable before running the
    89153    echo Greenstone 3 Digital Library Software.
    90154    pause
    91155    goto exit
    92156
     157:pauseAndExit
     158 pause
     159 goto exit
     160 
    93161:exit
    94162
  • greenstone3/trunk/gs3-setup.sh

    r13824 r14726  
    11# if this file is executed, /bin/sh is used, as we don't start with #!
    22# this should work under ash, bash, zsh, ksh, sh style shells.
    3 
    43# make sure we are sourced, and not run
    54
    6 if test "$0" != "`echo $0 | sed s/gs3-setup\.sh//`" ; then
    7 # if $0 contains "gs3-setup.sh" we've been run... $0 is shellname if sourced.
    8 # One exception is zsh has an option to set it temporarily to the script name
    9   if test -z "$ZSH_NAME" ; then
    10   # we aren't using zsh
    11   gsdl_not_sourced=true
     5export RUNJAVA=
     6JRE_HOME=
     7JAVA_HOME=
     8CLASSPATH=$CLASSPATH
     9
     10function testSource(){
     11  if test "$0" != "`echo $0 | sed s/gs3-setup\.sh//`" ; then
     12  # if $0 contains "gs3-setup.sh" we've been run... $0 is shellname if sourced.
     13  # One exception is zsh has an option to set it temporarily to the script name
     14    if test -z "$ZSH_NAME" ; then
     15    # we aren't using zsh
     16     gsdl_not_sourced=true
     17   fi
    1218  fi
    13 fi
    1419
    15 if test -n "$gsdl_not_sourced" ; then
    16   echo "    Error: Make sure you source this script, not execute it. Eg:"
    17   echo "        $ source gs3-setup.sh"
    18   echo "    or"
    19   echo "        $ . ./gs3-setup.sh"
    20   echo "    not"
    21   echo "        $ ./gs3-setup.sh"
    22   unset gsdl_not_sourced
    23   exit 1
    24 fi
     20  if test -n "$gsdl_not_sourced" ; then
     21     echo " Error: Make sure you source this script, not execute it. Eg:"
     22     echo "     $ source gs3-setup.sh"
     23     echo " or"
     24     echo "     $ . ./gs3-setup.sh"
     25     echo " not"
     26     echo "     $ ./gs3-setup.sh"
     27     unset gsdl_not_sourced
     28     exit 1
     29  fi
    2530
    26 if test ! -f gs3-setup.sh ; then
    27   echo "You must source the script from within the Greenstone home directory"
    28   exit 1
    29 fi
     31  if test ! -f gs3-setup.sh ; then
     32    echo "You must source the script from within the Greenstone home directory"
     33    exit 1
     34  fi
     35}
    3036
    31 GSDL3SRCHOME=`pwd`
    32 GSDL3HOME=$GSDL3SRCHOME/web
    33 export GSDL3HOME
    34 export GSDL3SRCHOME
    35 GSDLOS=`uname -s | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
    36 # check for running bash under cygwin
    37 if test "`echo $GSDLOS | sed 's/cygwin//'`" != "$GSDLOS" ; then
    38     GSDLOS=windows
    39 fi
    40 export GSDLOS
     37function setGS3ENV(){
     38   GSDL3SRCHOME=`pwd`
     39   GSDL3HOME=$GSDL3SRCHOME/web
     40   export GSDL3HOME
     41   export GSDL3SRCHOME
     42   GSDLOS=`uname -s | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
     43    # check for running bash under cygwin
     44    if test "`echo $GSDLOS | sed 's/cygwin//'`" != "$GSDLOS" ; then
     45        GSDLOS=windows
     46    fi
     47    export GSDLOS
    4148
    42 #change this if external tomcat
    43 TOMCAT_HOME=$GSDL3SRCHOME/packages/tomcat
     49    #change this if external tomcat
     50    TOMCAT_HOME=$GSDL3SRCHOME/packages/tomcat
    4451
    45 PATH=$GSDL3SRCHOME/bin/script:$GSDL3SRCHOME/bin:$PATH
    46 export PATH
    47 MANPATH=$MANPATH:$GSDL3SRCHOME/doc/man
    48 export MANPATH
     52    PATH=$GSDL3SRCHOME/bin/script:$GSDL3SRCHOME/bin:$PATH
     53    export PATH
     54    MANPATH=$MANPATH:$GSDL3SRCHOME/doc/man
     55    export MANPATH
    4956
    50 CLASSPATH=$GSDL3HOME/WEB-INF/classes:$GSDL3SRCHOME/resources/java:$CLASSPATH
    51 for JARFILE in $GSDL3SRCHOME/*.jar; do
    52     CLASSPATH=$CLASSPATH:$JARFILE
    53 done
    54 for JARFILE in $GSDL3SRCHOME/lib/jni/*.jar; do
    55     CLASSPATH=$CLASSPATH:$JARFILE
    56 done
    57 for JARFILE in $GSDL3HOME/WEB-INF/lib/*.jar; do
    58     CLASSPATH=$CLASSPATH:$JARFILE
    59 done
    60 for JARFILE in $TOMCAT_HOME/common/endorsed/*.jar; do
    61     CLASSPATH=$CLASSPATH:$JARFILE
    62 done   
    63 for JARFILE in $GSDL3SRCHOME/build/*.jar; do
    64     CLASSPATH=$CLASSPATH:$JARFILE
    65 done
     57    CLASSPATH=$GSDL3HOME/WEB-INF/classes:$GSDL3SRCHOME/resources/java:$CLASSPATH
     58     for JARFILE in $GSDL3SRCHOME/*.jar; do
     59       CLASSPATH=$CLASSPATH:$JARFILE
     60     done
     61     for JARFILE in $GSDL3SRCHOME/lib/jni/*.jar; do
     62        CLASSPATH=$CLASSPATH:$JARFILE
     63     done
     64     for JARFILE in $GSDL3HOME/WEB-INF/lib/*.jar; do
     65        CLASSPATH=$CLASSPATH:$JARFILE
     66     done
     67     for JARFILE in $TOMCAT_HOME/common/endorsed/*.jar; do
     68        CLASSPATH=$CLASSPATH:$JARFILE
     69     done   
     70     for JARFILE in $GSDL3SRCHOME/build/*.jar; do
     71       CLASSPATH=$CLASSPATH:$JARFILE
     72     done
     73     export CLASSPATH
     74     LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GSDL3SRCHOME/lib/jni
     75     export LD_LIBRARY_PATH
     76      ## for mac
     77     DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$GSDL3SRCHOME/lib/jni
     78     export DYLD_LIBRARY_PATH
     79}
    6680
    67 export CLASSPATH
     81function setJAVAHOME(){
     82    # see if we can find java
     83    java="java"
     84    jfound=1
     85    jok=1
     86    # if JREHOME, JRE_HOME is set, we'll use it to determine where java lives
     87    if [ "$JRE_HOME" != "" ]; then
     88       java="$JRE_HOME/bin/java"
     89       export JRE_HOME=$JRE_HOME
     90    elif [ "$JREHOME" != "" ]; then
     91       java="$JREHOME/bin/java"
     92       export JRE_HOME=$JREHOME
     93     # JAVAHOME or JAVA_HOME is set we'll use it to determine where java lives, otherwise
     94     #  we just hope it's on the search path
     95     elif [ "$JAVA_HOME" != "" ] ; then
     96       java="$JAVA_HOME/bin/java"
     97       export JAVA_HOME=$JAVA_HOME
     98     elif [ "$JAVAHOME" != "" ] ; then
     99       java="$JAVAHOME/bin/java"
     100       export JAVA_HOME=$JAVAHOME
     101    else
     102        java=`which java 2> /dev/null`
     103        if [ ! -x "$java" ]; then
     104        echo "Failed to locate Java. You must install a java runtime environment"
     105        echo "(version 1.4 or greater) before installing Greenstone 3."
     106            pauseAndExit
     107        else
     108      export JRE_HOME=`echo $java | sed -n 's/[\\\/]bin[\\\/]java$//p'`
     109        fi
     110   fi
     111   checkJAVAHOME
     112}
    68113
    69 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GSDL3SRCHOME/lib/jni
    70 export LD_LIBRARY_PATH
    71 ## for mac
    72 DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$GSDL3SRCHOME/lib/jni
    73 export DYLD_LIBRARY_PATH
     114function checkJAVAHOME(){
     115# Make sure prerequisite environment variables are set
     116  if [ -z "$JAVA_HOME" -a -z "$JRE_HOME" ]; then
     117    echo "Neither the JAVA_HOME nor the JRE_HOME environment variable is defined"
     118    echo "At least one of these environment variable is needed to run Greenstone3" 
     119    pauseAndExit
     120  else # check JRE_HOME
     121      if [ -n "$JRE_HOME" ]; then
     122         if [ ! -x "$JRE_HOME"/bin/java ]; then
     123        echo "JRE_HOME: $JRE_HOME"
     124        echo "Couldn't find $JRE_HOME/bin/java"
     125            echo "The JRE_HOME environment variable is not defined correctly"
     126            echo "This environment variable is needed to run this program"
     127        pauseAndExit
     128         else
     129       export RUNJAVA="$JRE_HOME"/bin/java
     130           checkVersion
     131         fi     
     132      else
     133          # check JAVA_HOME if JRE_HOME is not set   
     134          if [ -n "$JAVA_HOME" ]; then
     135              if [ ! -x "$JAVA_HOME"/bin/java -o ! -x "$JAVA_HOME"/bin/javac ]; then
     136        echo "JAVA_HOME: $JAVA_HOME" 
     137                echo "Couldn't find $JAVA_HOME/bin/java or $JAVA_HOME/bin/javac"
     138                echo "The JAVA_HOME environment variable is not defined correctly"
     139                echo "This environment variable is needed to run this program"
     140                echo "NB: JAVA_HOME should point to a JDK not a JRE"
     141        pauseAndExit
     142          else
     143               export RUNJAVA="$JAVA_HOME"/bin/java
     144               checkVersion
     145              fi
     146           fi
     147        fi
     148  fi
     149}
    74150
    75 
    76 # see if we can find java
    77 java="java"
    78 jfound=1
    79 jok=1
    80 # if JAVAHOME or JAVA_HOME is set we'll use it to determine where java lives, otherwise
    81 #  we just hope it's on the search path
    82 if [ "$JAVA_HOME" != "" ] ; then
    83     java="$JAVA_HOME/bin/java"
    84 elif [ "$JAVAHOME" != "" ] ; then
    85     java="$JAVAHOME/bin/java"
    86     export JAVA_HOME=$JAVAHOME
    87 else
    88     java=`which java 2> /dev/null`
    89     if [ ! -x "$java" ]; then
    90     echo "Failed to locate Java. You must install a java runtime environment"
    91     echo "(version 1.4 or greater) before installing Greenstone 3."
    92     jfound=0
    93     jok=0
    94     else
    95     export JAVA_HOME=`echo $java | sed -n 's/[\\\/]bin[\\\/]java$//p'`
    96     fi
    97 fi
     151function checkVersion(){
    98152if [ $jfound -eq 1 ]; then
    99     javaversion=`$java -version 2>&1 | sed -n 's/^java version \"\(.*\)\"/\1/p'`
     153    javaversion=`$RUNJAVA -version 2>&1 | sed -n 's/^java version \"\(.*\)\"/\1/p'`
    100154    jvmajor=`echo $javaversion | sed -n 's/^\([0-9]*\).*$/\1/p'`
    101155    jvminor=`echo $javaversion | sed -n 's/^[0-9]*\.\([0-9]*\).*$/\1/p'`
     
    113167    echo "old to run Greenstone 3. Please install a new version of the JRE (version"
    114168    echo "1.4 or newer) and rerun this installation."
     169    export RUNJAVA=
     170    pauseAndExit
    115171else
     172    if [ -n "$JRE_HOME" ]; then
     173     echo "JRE_HOME: $JRE_HOME"
     174     export PATH="$JRE_HOME"\bin:$PATH
     175    fi
     176    if [ -n "$JAVA_HOME" ]; then
     177     echo "JAVA_HOME: $JAVA_HOME"
     178     export PATH="$JAVA_HOME"\bin:$PATH
     179    fi
    116180    echo "Your environment has successfully been set up to run Greenstone3"
    117181fi
    118 
    119 #do we need to check for perl???
    120 # make sure perl is ok
    121 #perl=`which perl 2> /dev/null`
    122 # echo "perl: $perl"
    123 #if [ ! -x "$perl" ] ; then
    124 #    echo "Greenstone 3 requires perl in order to operate but this installation"
    125 #    echo "could not detect perl on your system. Please ensure that perl is installed"
    126 #    echo "and is on your search path then rerun this installation script."
    127 #    exit 1
    128 #fi
     182}
    129183
    130184
     185function pauseAndExit(){
     186 echo -n "Please press any key to continue... "
     187 read
     188}
     189
     190testSource
     191setGS3ENV
     192setJAVAHOME
    131193
    132194
Note: See TracChangeset for help on using the changeset viewer.