I committed some minor changes to trunk that resolve this for me. I tried your setlocal approach, and that didn't work. The JAVA_OPTS variable is simply not adapted, which is logical since the 'endlocal' statement reverts variables to their state at 'setlocal'.
I looked through the other commands in the bin directory, and I don't think that the changes I made should interfere with them. Would you mind having a look, just to be sure? Thanks! On Thu, Apr 10, 2008 at 7:55 PM, Juris Galang <[EMAIL PROTECTED]> wrote: > If it (your setenv.bat) already works - then I think the book or the said > chapter could go on without waiting for this JIRA to be resolved. > > > > > On Apr 9, 2008, at 11:07 PM, Geert Bevin wrote: > > > Thanks, created the issue http://jira.terracotta.org/jira/browse/CDV-719 > > > > (note that this is actually for the book, so a quick definitive and > > simple approach should be found) > > > > On Thu, Apr 10, 2008 at 7:14 AM, Juris Galang > > <[EMAIL PROTECTED]> wrote: > > > > > > > > I think boot-jar-path was/is intended to be called only by other > > > scripts. > > > But there's the chance that a user will call it outside of a script - > > > hence the line: > > > > > > if not defined JAVA_HOME set JAVA_HOME="%TC_INSTALL_DIR%\jre" > > > > > > Later on I/we added this line: > > > > > > > > > set JAVA_HOME="%JAVA_HOME:"=%" > > > > > > To handle quoting and embedded space issues. > > > > > > Anyway, I don't think is ever meant to be called outside of a script - > > > it was more likely written or refactored out of dso-env for clarity > > > (dso-env, btw, is the only script that references it) --- that is also > > > likely why there is no setlocal/endlocal pair in boot-jar-path.bat. > > > > > > We could get rid of the lines of code I mentioned above, OR: fold it > > > back-in dso-env so that there's no script in our kit that would appear > > > broken when called outside of another script --- but post a JIRA for > > > this, so that Fiona, et. al., could weigh-in. > > > > > > > > > > > > > > > On Apr 9, 2008, at 12:57 PM, Juris Galang wrote: > > > > > > > I'll take a closer look at what boot-jarpath.bat is doing... > > > > > > > > On Apr 9, 2008, at 11:15 AM, Geert Bevin wrote: > > > > > > > > > I can use that, but I'm wondering why boot-jar-path.bat has to set > > > > > and/or modify the global JAVA_HOME var? I think it would be better > in > > > > > case you use this script to ensure a quoted JAVA_HOME path in any of > > > > > the other startup script, to maybe use TC_JAVA_HOME that the rest > > > > > uses. This makes less surprising for people to use dso-env.bat since > > > > > it only intervenes with TC_* variables and not with JAVA_HOME. > > > > > > > > > > On Wed, Apr 9, 2008 at 8:09 PM, Juris Galang > <[EMAIL PROTECTED] > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > This line removes all the quotes from the value of JAVA_HOME > and > > > > > > > > then > > > > > > > > surrounds it with quotes. This is what makes our scripts work. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I forgot to add:This is what makes our scripts work when JAVA_HOME > > > > > > happens to have embedded paths and handed off to our script with > > > > > > quotes. > > > > > > But it also works if it was set without quotes (we end up adding > it > > > > > > ourselves) > > > > > > > > > > > > > > > > > > BTW, I recreated your script: > > > > > > > > > > > > @echo off > > > > > > setlocal > > > > > > set TC_INSTALL_DIR="c:\foo bar\terracotta-2.7.0-SNAPSHOT" > > > > > > > > > > > > set TC_CONFIG_PATH="localhost:9510" > > > > > > call %TC_INSTALL_DIR%\bin\dso-env.bat -q > > > > > > set JAVA_OPTS=%TC_JAVA_OPTS% %JAVA_OPTS% > > > > > > echo > > > > > > endlocal > > > > > > > > > > > > But I've wrapped it in setlocal/endlocal. It seemed to run fine (I > > > > > > had > > > > > > to start the TC server first so I wont get the warnings) > > > > > > It creates a bootjar and sets the JAVA_OPTS variable to: > > > > > > > > > > > > -Xbootclasspath/p:"c:\foo bar\terracotta-2.7.0-snapshot\bin\..\lib > > > > > > \dso- > > > > > > boot\dso-boot-hotspot_win32_160_01.jar" -Dtc.install-root="c:\foo > > > > > > bar > > > > > > \terracotta-2.7.0-snapshot\bin\.." -Dtc.config="localhost:9510" > > > > > > > > > > > > Is this what you need? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Apr 9, 2008, at 1:57 AM, Geert Bevin wrote: > > > > > > > > > > > > > Well, the problem here is that I want provide easy instructions > for > > > > > > > people to activate Terracotta on an existing Tomcat > installation. > > > > > > > The > > > > > > > setenv.bat approach is what is usually recommended, and it > works, > > > > > > > except for boot-jar-path.bat changing the JAVA_HOME variable > that > > > > > > > is > > > > > > > already there. I personally think that those scripts should have > no > > > > > > > side-effects at all on existing environment variables if they're > > > > > > > called through dso-env.bat. It's also weird that JAVA_HOME is by > > > > > > > default set in boot-jar-path.bat to the JRE that ships with > > > > > > > Terracotta > > > > > > > for the entire environment, if it wasn't there before. That > makes > > > > > > > using dso-env.bat a lot less appealing. > > > > > > > > > > > > > > On Wed, Apr 9, 2008 at 10:43 AM, Juris Galang > > > > > > > <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > set JAVA_HOME="%JAVA_HOME:"=%" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This line removes all the quotes from the value of JAVA_HOME > and > > > > > > > > then > > > > > > > > surrounds it with quotes. This is what makes our scripts work. > > > > > > > > However before we do a call to a 3rd Party script, we remove > the > > > > > > > > quotes from some environment variables (often this includes > > > > > > > > JAVA_HOME) > > > > > > > > > > > > > > > > Anyway, don't change the line above, I'll work with you to > make > > > > > > > > your > > > > > > > > script work. > > > > > > > > > > > > > > > > For reference, on scripts that work with existing Tomcat > > > > > > > > installations, look into the > tools/sessions/configurator-sandbox > > > > > > > > directory of a TC installation - and look into the start.bat > > > > > > > > script > > > > > > > > of > > > > > > > > any of the tomcatx.x directories (except tomcat5.5, which > assumes > > > > > > > > tomcat is installed in the vendors directory of your TC > > > > > > > > installation) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Apr 9, 2008, at 1:28 AM, Geert Bevin wrote: > > > > > > > > > > > > > > > > > Hi, > > > > > > > > > > > > > > > > > > I've been trying to get Terracotta to work easily on Windows > > > > > > > > > with an > > > > > > > > > existing Tomcat installation. For that I create a setenv.bat > > > > > > > > > file in > > > > > > > > > the bin dir with these instructions: > > > > > > > > > > > > > > > > > > set TC_INSTALL_DIR="C:\terracotta-2.7.0-snapshot" > > > > > > > > > set TC_CONFIG_PATH="localhost:9510" > > > > > > > > > call %TC_INSTALL_DIR%\bin\dso-env.bat -q > > > > > > > > > set JAVA_OPTS=%TC_JAVA_OPTS% %JAVA_OPTS% > > > > > > > > > > > > > > > > > > With this, Tomcat fails to startup due to an error while > running > > > > > > > > > their > > > > > > > > > setclasspath.bat file. > > > > > > > > > > > > > > > > > > I tracked this down to our boot-jar-path.bat script that > always > > > > > > > > > surrounds an existing JAVA_HOME env variable with double > quotes. > > > > > > > > > This > > > > > > > > > causes the line > > > > > > > > > > > > > > > > > > if not "%JAVA_HOME%" == "" goto gotJdkHome > > > > > > > > > > > > > > > > > > to fail in setclasspath.bat. > > > > > > > > > > > > > > > > > > Any thoughts? I'm really a novice with windows batch > scripts, > > > > > > > > > so I'd > > > > > > > > > appreciate some help here. Personally, I'd remove the > following > > > > > > > > > line > > > > > > > > > from boot-jar-path.bat: > > > > > > > > > > > > > > > > > > set JAVA_HOME="%JAVA_HOME:"=%" > > > > > > > > > > > > > > > > > > ... and then adapt the commands that use JAVA_HOME or any > derived > > > > > > > > > variables to have double quotes. > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > > > > > > > > > Geert > > > > > > > > > > > > > > > > > > -- > > > > > > > > > Geert Bevin > > > > > > > > > Terracotta - http://www.terracotta.org > > > > > > > > > Uwyn "Use what you need" - http://uwyn.com > > > > > > > > > RIFE Java application framework - http://rifers.org > > > > > > > > > Music and words - http://gbevin.com > > > > > > > > > _______________________________________________ > > > > > > > > > tc-dev mailing list > > > > > > > > > [email protected] > > > > > > > > > http://lists.terracotta.org/mailman/listinfo/tc-dev > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > tc-dev mailing list > > > > > > > > [email protected] > > > > > > > > http://lists.terracotta.org/mailman/listinfo/tc-dev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Geert Bevin > > > > > > > Terracotta - http://www.terracotta.org > > > > > > > Uwyn "Use what you need" - http://uwyn.com > > > > > > > RIFE Java application framework - http://rifers.org > > > > > > > Music and words - http://gbevin.com > > > > > > > _______________________________________________ > > > > > > > tc-dev mailing list > > > > > > > [email protected] > > > > > > > http://lists.terracotta.org/mailman/listinfo/tc-dev > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > tc-dev mailing list > > > > > > [email protected] > > > > > > http://lists.terracotta.org/mailman/listinfo/tc-dev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Geert Bevin > > > > > Terracotta - http://www.terracotta.org > > > > > Uwyn "Use what you need" - http://uwyn.com > > > > > RIFE Java application framework - http://rifers.org > > > > > Music and words - http://gbevin.com > > > > > _______________________________________________ > > > > > tc-dev mailing list > > > > > [email protected] > > > > > http://lists.terracotta.org/mailman/listinfo/tc-dev > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > tc-dev mailing list > > > [email protected] > > > http://lists.terracotta.org/mailman/listinfo/tc-dev > > > > > > > > > > > > > > -- > > Geert Bevin > > Terracotta - http://www.terracotta.org > > Uwyn "Use what you need" - http://uwyn.com > > RIFE Java application framework - http://rifers.org > > Music and words - http://gbevin.com > > > > -- Geert Bevin Terracotta - http://www.terracotta.org Uwyn "Use what you need" - http://uwyn.com RIFE Java application framework - http://rifers.org Music and words - http://gbevin.com _______________________________________________ tc-dev mailing list [email protected] http://lists.terracotta.org/mailman/listinfo/tc-dev
