Hi Kedar and Byron:
For this user, could we suggest this workaround as of now?
- create a wrapper shell script that does the following
1. start domain
2. asadmin set to set a classpath-suffix dynamically based on an
env.variable[say FOO] - ie something like asadmin set
....java-config.classpath-suffix=$FOO if this is a bash script
3. restart domain to get your new classpath in FOO added as a suffix to domain.
>> if BAR is a System Property -- use it
>> else if BAR is an env variable -- use it
>> else use the string as-is
A minor clarification. By env variable, are we referring to the system dependent
env variables obtained via System.getenv(...). Have we ever provided this
capability [apart from classpath] before?
Thanks
--Siva.
Kedar Mhaswade wrote:
> Works for me.
>
> I just wanted to make it explicit by tagging it as ${ENV}.
> Also it lets the system properties and environment variables
> with same name coexist.
>
> This is what ANT, Maven do, for example. But I am ok with
> what you decide. Please create an RFE in either case.
>
> - Kedar
>
> Byron Nevins wrote:
>> I am not fond of the third bullet point.
>> Why not do this:
>>
>> if BAR is a System Property -- use it
>> else if BAR is an env variable -- use it
>> else use the string as-is
>>
>>
>> Kedar Mhaswade wrote:
>>> First off:
>>>
>>> http://forums.java.net/jive/thread.jspa?messageID=235666
>>>
>>> is the discussion thread at the forum.
>>>
>>> Byron:
>>>
>>> Please respond there.
>>>
>>> Another point: I agree that we should change the launcher to take
>>> the environmental classpath and put that in
>>> -Dcom.sun.aas.ClassPathSuffix
>>> instead of appending it to -cp. There is a subtle difference in the two.
>>>
>>> Byron: I would request you to do three things:
>>>
>>> - Respond to the thread.
>>> - Create an RFE that makes launcher modify -Dcom.sun.aas.ClassPathSuffix
>>> by the environment classpath when env-classpath-ignored=false
>>> - Create another RFE which enables:
>>> -DFoo=$ENV{"BAR"} to translate to System.getEnv("BAR");
>>>
>>>
>>> Thanks,
>>> Kedar
>>>
>>> BN wrote:
>>>> I changed the attribute of interest in domain.xml:
>>>>
>>>> env-classpath-ignored="false"
>>>>
>>>> The result is that ASLauncher puts the contents of the CLASSPATH env
>>>> variable like so in the java command line:
>>>>
>>>> java -cp <jhall,appserv-launch><your-classpath>
>>>>
>>>> I then deployed a web module that is dependent on a jar in CLASSPATH
>>>> -- and it worked fine.
>>>>
>>>> The classpath contents are put *almost* in the front of the runtime
>>>> classpath. Take a look at the actual runtime classpath below. My
>>>> classpath stuff shows up starting at the third position (CLASSPATH
>>>> ==> .;C:\dev\elf\dist\elf.jar;.............)
>>>>
>>>> I can change ASLauncher to put the env CLASSPATH contents in, say,
>>>> classpath-suffix instead of as the "-cp" arg.
>>>> Thoughts????
>>>>
>>>> note that the output below is from calling com.elf.util.Classpath()
>>>> -- which is in elf.jar which is NOT in the deployed web-module's
>>>> tree. Thus proving that the web module can "see" the jar that is in
>>>> the env classpath
>>>>
>>>> Kedar, in summary,
>>>>
>>>> * The user problem can be solved by simply changing one "true" to
>>>> "false" in domain.xml and setting env CLASSPATH to their
>>>> mega-classpath
>>>> * They have to be careful about classes in their jars "hiding"
>>>> classes by the same name in GF jars.
>>>> * They must restart the server if they change anything inside the
>>>> jars (to "see" the changes if the class is already loaded)
>>>>
>>>>
>>>> -------------------------------------------------------------------------
>>>>
>>>>
>>>> D:/as/lib/jhall.jar
>>>> D:\as\lib\appserv-launch.jar
>>>> *.
>>>> C:\dev\elf\dist\elf.jar
>>>> c:\dev\derby\lib\derby.jar
>>>> c:\dev\derby\lib\derbytools.jar
>>>> C:\Program Files\Java\jre1.6.0_01\lib\ext\QTJava.zip
>>>> *D:/as\lib\javaee.jar
>>>> c:/jdk/jre/../lib/tools.jar
>>>> D:/as\lib\install/applications/jmsra/imqjmsra.jar
>>>> D:/as\lib\com-sun-commons-launcher.jar
>>>> D:/as\lib\com-sun-commons-logging.jar
>>>> D:/as/imq/lib/jaxm-api.jar
>>>> D:/as/imq/lib/fscontext.jar
>>>> D:/as/imq/lib/imqbroker.jar
>>>> D:/as/imq/lib/imqjmx.jar
>>>> D:/as/imq/lib/imqxm.jar
>>>> D:/as\lib\webservices-rt.jar
>>>> D:/as\lib\webservices-tools.jar
>>>> D:/as\lib\mail.jar
>>>> D:/as\lib\appserv-jstl.jar
>>>> D:/as\lib\jmxremote_optional.jar
>>>> D:/as/lib/SUNWjdmk/5.1/lib/jdmkrt.jar
>>>> D:/as\lib\activation.jar
>>>> D:/as\lib\appserv-rt.jar
>>>> D:/as\lib\appserv-admin.jar
>>>> D:/as\lib\appserv-cmp.jar
>>>> D:/as/updatecenter/lib/updatecenter.jar
>>>> D:/as/jbi/lib/jbi.jar
>>>> D:/as/imq/lib/imqjmx.jar
>>>> D:/as/lib/ant/lib/ant.jar
>>>> D:/as\lib\dbschema.jar
>>>> D:/as\lib\appserv-se.jar
>>>> D:/as\lib\appserv-ee.jar
>>>> D:/as\lib\jesmf-plugin.jar
>>>> D:/as\lib\/lib/dbstate.jar
>>>> D:/as\lib\/lib/hadbjdbc4.jar
>>>> D:/as\lib\jgroups-all.jar
>>>> D:/as/lib/SUNWmfwk/lib/mfwk_instrum_tk.jar
>>>> D:\as\lib\activation.jar
>>>> D:\as\lib\admin-cli-ee.jar
>>>> D:\as\lib\admin-cli.jar
>>>> D:\as\lib\appserv-admin.jar
>>>> D:\as\lib\appserv-cmp.jar
>>>> D:\as\lib\appserv-deployment-client.jar
>>>> D:\as\lib\appserv-ee.jar
>>>> D:\as\lib\appserv-ext.jar
>>>> D:\as\lib\appserv-jstl.jar
>>>> D:\as\lib\appserv-jwsacc.jar
>>>> D:\as\lib\appserv-launch.jar
>>>> D:\as\lib\appserv-rt.jar
>>>> D:\as\lib\appserv-se.jar
>>>> D:\as\lib\appserv-tags.jar
>>>> D:\as\lib\appserv-upgrade.jar
>>>> D:\as\lib\appserv-ws.jar
>>>> D:\as\lib\com-sun-commons-launcher.jar
>>>> D:\as\lib\com-sun-commons-logging.jar
>>>> D:\as\lib\dbschema.jar
>>>> D:\as\lib\j2ee-svc.jar
>>>> D:\as\lib\j2ee.jar
>>>> D:\as\lib\javaee.jar
>>>> D:\as\lib\jesmf-plugin.jar
>>>> D:\as\lib\jhall.jar
>>>> D:\as\lib\jmac-api.jar
>>>> D:\as\lib\jmxremote_optional.jar
>>>> D:\as\lib\jsf-impl.jar
>>>> D:\as\lib\jxta.jar
>>>> D:\as\lib\mail.jar
>>>> D:\as\lib\Pack200Task.jar
>>>> D:\as\lib\shoal-gms.jar
>>>> D:\as\lib\sun-appserv-ant.jar
>>>> D:\as\lib\toplink-essentials-agent.jar
>>>> D:\as\lib\toplink-essentials.jar
>>>> D:\as\lib\webservices-rt.jar
>>>> D:\as\lib\webservices-tools.jar
>>>> D:/as
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: admin-unsubscribe_at_glassfish.dev.java.net
>>> For additional commands, e-mail: admin-help_at_glassfish.dev.java.net
>>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: admin-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: admin-help_at_glassfish.dev.java.net
>