[jbosstools-dev] a problem of classpath too long

Max Rydahl Andersen max.andersen at redhat.com
Fri Mar 6 04:47:34 EST 2009


If you use External Tools launch configurations you don't even need a 
custom launch configuration type I would think.
...and if you used External Tools launch configurations for this users 
would be able to adjust this launch if really needed.

Just a thought.
/max
>
>> 2 call org.jboss.wsf.spi.tools.cmd.WSProvide directly.
>>   Thi methos has two way to realize:
>>   One is using classloader and the other is using eclipse launch 
>> configuration(as Rob said)
>>   These two ways both need to load some jars according to the 
>> wsprovider.sh. I do not know if these sh are same from different
>>   verion of jboss AS or WS.  So I tested them and know they can 
>> resolved the issue. But I do not use it.
> eh - why not ? this sounds by far as the best solution and you can 
> always have variations of it dependent on wether it is AS or WS you 
> are using.
> And you would need to know that for what you do in solution 4 anway, 
> right ?
>> 4 create a temp.jar and add all of the jars into the temp.jar's 
>> menifest file. Then use this jar instead of all of the jars to the 
>> class path
>>   Now I use this method to resolve  this issue.
> This does not sound like a good idea!  Classloading rules changes when 
> stuff is put into the same jar plus it is not how the user would run 
> these
> if he could. Plus it requires a massive copying of classes/files.
>> 5 maybe have another  way  from a runtime guy:  change the .sh file 
>> and add all of the jars into the command line classpath, then run
>>   the command as: wsprovider.sh  -w -k   .............   thejavaclass
>>   The wsprovider.sh call org.jboss.wsf.spi.tools.cmd.WSProvide. I 
>> have study the codes of the class, it create a classloader to run and
>>   the classloader will extend parent's classpath. So we can use the 
>> method to resolve this issue.
>>   But we need to get the wsprovider.sh and modify it, then run.
>>   I do not test it.
>>
>> At the end, I think jboss ws team should offer a class to handle this 
>> issue because in command line, the issue occurs too.
> Or we need to investigate which jars we *actually* need to pass on to 
> WS for it to work ?
>
> /max
>>
>> Grid
>>> Hi all,
>>>
>>> There is a problem about classpath.
>>> Up to now, the jboss ws module of our tools use two commands -- 
>>> 'wsprovider.sh' and 'wsconsumer.bat' -- to generate codes
>>> in both scenes: bottow-up(from a java class) and top-down(from a 
>>> wsdl file).
>>> When we call wsprovider.bat to generate codes, we may create a 
>>> command to run in our eclipse console like this:
>>> wsprovider -c 'a.jar:b.jar:c.jar.............xxx.jar' -w -k   
>>> .............   thejavaclass
>>> My codes run this command like this in my plugins:
>>>            Runtime rt = Runtime.getRuntime();
>>>            rt.exec(command.toString(), null, new 
>>> File(commandLocation));
>>> On linux, this is ok. But on windows, a error occurs: the command is 
>>> too long. This is caused by the classpath parameter is
>>> too long because we add very many jars to '-c'
>>> I think, in enterprise scenes, we will often meet this problem -- 
>>> need to add many jars to classpath.
>>> So I want to ask if we have a way to set a container or a jars 
>>> folder for these jars.
>>>
>>> Thanks
>>> Grid
>>>
>>>
>>> _______________________________________________
>>> jbosstools-dev mailing list
>>> jbosstools-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>>
>> _______________________________________________
>> jbosstools-dev mailing list
>> jbosstools-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>
> _______________________________________________
> jbosstools-dev mailing list
> jbosstools-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosstools-dev




More information about the jbosstools-dev mailing list