You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Thilo Goetz <tw...@gmx.de> on 2009/08/31 11:28:56 UTC

Re: svn commit: r808996 - /incubator/uima/uimaj/trunk/uimaj-bootstrap/

schor@apache.org wrote:
> Author: schor
> Date: Fri Aug 28 19:28:58 2009
> New Revision: 808996
> 
> URL: http://svn.apache.org/viewvc?rev=808996&view=rev
> Log:
> [UIMA-1536] initial import, moved from uimaj-tools
> 
> Added:
>     incubator/uima/uimaj/trunk/uimaj-bootstrap/

We create a new project just for this?  Am I correct
in assuming that only UIMA-AS needs this?  Why don't
we put it there then?

--Thilo

Re: svn commit: r808996 - /incubator/uima/uimaj/trunk/uimaj-bootstrap/

Posted by Thilo Goetz <tw...@gmx.de>.
Burn Lewis wrote:
> We have a very long list of jars in setUimaClassPath largely because we are
> uncertain how many ActiveMQ jars to include ... currently we specify only 14
> of the 31 that AMQ loads.  And one of ours is wrong as we specify
> commons-collections-3.1.jar while the library has
> commons-collections-2.1.jar ... which causes an apparently innocuous message
> that is usually suppressed:
> 
> 8/28/09 3:49:54 PM - 0: org.springframework.util.ClassUtils.isPresent: FINE:
> Class [org.apache.commons.collections.map.LinkedMap] or one of its
> dependencies is not present: java.lang.ClassNotFoundException:
> org.apache.commons.collections.map.LinkedMap
> 
> I was hoping that using a jar loader would avoid such mistakes, and also
> make it easier for users to switch ActiveMQ versions by merely renaming the
> parent directory.  We could perhaps use AMQ's run.jar for these uima-as
> scripts and load everything that their scripts load.  If there are some uima
> jars that should not be loaded perhaps they should be in an optional
> directory.
> 
> -Burn
> 

That's up to you of course.  It has been my experience
that manually maintaining your startup scripts may be
painful, but it costs less time in the long run.  Loads
of fun when these sorts of problems crop up on a customer's
machine that you don't have access to and you need to
remote debug what the issue might be.  It's a different
story if this is just for yourself and you always have
a developer next door who can help you out.

--Thilo

Re: svn commit: r808996 - /incubator/uima/uimaj/trunk/uimaj-bootstrap/

Posted by Burn Lewis <bu...@gmail.com>.
We have a very long list of jars in setUimaClassPath largely because we are
uncertain how many ActiveMQ jars to include ... currently we specify only 14
of the 31 that AMQ loads.  And one of ours is wrong as we specify
commons-collections-3.1.jar while the library has
commons-collections-2.1.jar ... which causes an apparently innocuous message
that is usually suppressed:

8/28/09 3:49:54 PM - 0: org.springframework.util.ClassUtils.isPresent: FINE:
Class [org.apache.commons.collections.map.LinkedMap] or one of its
dependencies is not present: java.lang.ClassNotFoundException:
org.apache.commons.collections.map.LinkedMap

I was hoping that using a jar loader would avoid such mistakes, and also
make it easier for users to switch ActiveMQ versions by merely renaming the
parent directory.  We could perhaps use AMQ's run.jar for these uima-as
scripts and load everything that their scripts load.  If there are some uima
jars that should not be loaded perhaps they should be in an optional
directory.

-Burn

Re: svn commit: r808996 - /incubator/uima/uimaj/trunk/uimaj-bootstrap/

Posted by Thilo Goetz <tw...@gmx.de>.
Marshall Schor wrote:
> 
> Thilo Goetz wrote:
>> Marshall Schor wrote:
>>   
>>> The reason for a new project was to isolate the classes in the "normal"
>>> -cp class path to just this one class :-).
>>>
>>> This is a general purpose launcher, that could also be used to simplify
>>> our base launching scripts.
>>>     
>> I think we would be doing our users a disservice.  I just fixed
>> the pear runner not to go ahead an use any jar file it finds
>> in the lib directory.  That kind of defaulty behavior has surprising
>> and undesirable effects.
>>
>>   
> 
> Well, at least this is "optional" in some sense.  But other projects I
> see are using this approach (ActiveMQ for instance).
> 
> Is there another simple approach to "aggregating" lots of Jar files,
> other than long lists of them in some file?

You have to balance convenience vs. safety here.  I like to come
down on the safety side because I have witnessed many times how much
time can be wasted by an error caused by this kind of "convenience".

This kind of behavior is ok for app servers/runtime containers that
have dedicated directories where you drop your jars or class files
and they pick them up, maybe without even having to restart your
app.  For startup scripts, the safety concerns imo outweigh the desire
for convenience.  We manage to create enough classpath problems without
needing to aggravate them with fancy classloading utilities.

--Thilo

> 
> -Marshall
>>> -Marshall
>>>
>>> Thilo Goetz wrote:
>>>     
>>>> schor@apache.org wrote:
>>>>   
>>>>       
>>>>> Author: schor
>>>>> Date: Fri Aug 28 19:28:58 2009
>>>>> New Revision: 808996
>>>>>
>>>>> URL: http://svn.apache.org/viewvc?rev=808996&view=rev
>>>>> Log:
>>>>> [UIMA-1536] initial import, moved from uimaj-tools
>>>>>
>>>>> Added:
>>>>>     incubator/uima/uimaj/trunk/uimaj-bootstrap/
>>>>>     
>>>>>         
>>>> We create a new project just for this?  Am I correct
>>>> in assuming that only UIMA-AS needs this?  Why don't
>>>> we put it there then?
>>>>
>>>> --Thilo
>>>>
>>>>
>>>>   
>>>>       
>>
>>
>>   

Re: svn commit: r808996 - /incubator/uima/uimaj/trunk/uimaj-bootstrap/

Posted by Marshall Schor <ms...@schor.com>.

Thilo Goetz wrote:
> Marshall Schor wrote:
>   
>> The reason for a new project was to isolate the classes in the "normal"
>> -cp class path to just this one class :-).
>>
>> This is a general purpose launcher, that could also be used to simplify
>> our base launching scripts.
>>     
>
> I think we would be doing our users a disservice.  I just fixed
> the pear runner not to go ahead an use any jar file it finds
> in the lib directory.  That kind of defaulty behavior has surprising
> and undesirable effects.
>
>   

Well, at least this is "optional" in some sense.  But other projects I
see are using this approach (ActiveMQ for instance).

Is there another simple approach to "aggregating" lots of Jar files,
other than long lists of them in some file?

-Marshall
>> -Marshall
>>
>> Thilo Goetz wrote:
>>     
>>> schor@apache.org wrote:
>>>   
>>>       
>>>> Author: schor
>>>> Date: Fri Aug 28 19:28:58 2009
>>>> New Revision: 808996
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=808996&view=rev
>>>> Log:
>>>> [UIMA-1536] initial import, moved from uimaj-tools
>>>>
>>>> Added:
>>>>     incubator/uima/uimaj/trunk/uimaj-bootstrap/
>>>>     
>>>>         
>>> We create a new project just for this?  Am I correct
>>> in assuming that only UIMA-AS needs this?  Why don't
>>> we put it there then?
>>>
>>> --Thilo
>>>
>>>
>>>   
>>>       
>
>
>
>   

Re: svn commit: r808996 - /incubator/uima/uimaj/trunk/uimaj-bootstrap/

Posted by Thilo Goetz <tw...@gmx.de>.
Marshall Schor wrote:
> The reason for a new project was to isolate the classes in the "normal"
> -cp class path to just this one class :-).
> 
> This is a general purpose launcher, that could also be used to simplify
> our base launching scripts.

I think we would be doing our users a disservice.  I just fixed
the pear runner not to go ahead an use any jar file it finds
in the lib directory.  That kind of defaulty behavior has surprising
and undesirable effects.

> 
> -Marshall
> 
> Thilo Goetz wrote:
>> schor@apache.org wrote:
>>   
>>> Author: schor
>>> Date: Fri Aug 28 19:28:58 2009
>>> New Revision: 808996
>>>
>>> URL: http://svn.apache.org/viewvc?rev=808996&view=rev
>>> Log:
>>> [UIMA-1536] initial import, moved from uimaj-tools
>>>
>>> Added:
>>>     incubator/uima/uimaj/trunk/uimaj-bootstrap/
>>>     
>> We create a new project just for this?  Am I correct
>> in assuming that only UIMA-AS needs this?  Why don't
>> we put it there then?
>>
>> --Thilo
>>
>>
>>   


Re: svn commit: r808996 - /incubator/uima/uimaj/trunk/uimaj-bootstrap/

Posted by Marshall Schor <ms...@schor.com>.
The reason for a new project was to isolate the classes in the "normal"
-cp class path to just this one class :-).

This is a general purpose launcher, that could also be used to simplify
our base launching scripts.

-Marshall

Thilo Goetz wrote:
> schor@apache.org wrote:
>   
>> Author: schor
>> Date: Fri Aug 28 19:28:58 2009
>> New Revision: 808996
>>
>> URL: http://svn.apache.org/viewvc?rev=808996&view=rev
>> Log:
>> [UIMA-1536] initial import, moved from uimaj-tools
>>
>> Added:
>>     incubator/uima/uimaj/trunk/uimaj-bootstrap/
>>     
>
> We create a new project just for this?  Am I correct
> in assuming that only UIMA-AS needs this?  Why don't
> we put it there then?
>
> --Thilo
>
>
>