uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jens Grivolla <j+...@grivolla.net>
Subject Re: Setting up third party libraries for UIMA AS application
Date Wed, 16 Nov 2011 13:21:16 GMT

that's basically what we are doing, too.

If the PEAR is configured correctly, the CLASSPATH and uima.datapath 
should appear in install.xml and setenv.txt, and you could use those to 
set your classpath in your executor.bat. You would then avoid having to 
define <path_to_my_third_party_libraries> separately.

Unfortunately, it is not always possible (in Linux) to just `source 
setenv.txt` to set the environment variables because it fails on the 
uima.datapath assignment (I believe it would work with UIMA_DATAPATH). 
So it is often still necessary to adapt the launch script depending on 
the component you are working with.I have no idea how it is in Windows.

If there are any better suggestions, I'd be interested also.


On 11/16/2011 01:50 PM, Spico Florin wrote:
> Hello, Jens!
>    In order to solve the problem, I've created a bash script named
> executor.bat where I've added the following lines:
> @set UIMA_CLASSPATH=%UIMA_CLASSPATH%;<path_to_my_third_party_libraries>
> deployAsyncService.cmd<my_deployment_descriptor_for_as.xml>
> I've put this script in a folder my_project/deploy/as/ and then I've set up
> the<path_to_my_third_party_libraries>
> with the relatives paths to the lib and bin folders of the project:
> i.e.
> @set UIMA_CLASSPATH=%UIMA_CLASSPATH%;../../lib;../../bin
> The structure of the project after installing the pear file will look like
> this:
> installed
>     I
>     I-uima-pipeline
>          I-bin
>          I-deploy
>                I-as
>                    I-executor.bat (from here we will execute the script)
>          I-lib
>             I-third_party_library.jar
>          I-descriptors
>          I-metadata
>          I-resources
> I don't know that the above is a solution, but it worked for me.
> Therefore, I have the following question:
> How can I use the  variables set up in install.xml and setenv.txt in my
> executor.bat script?
> I'll look forward for your answer,
> Thank you.
> Regards,
>   Florin
> On Tue, Nov 15, 2011 at 4:21 PM, Jens Grivolla<j+asf@grivolla.net>  wrote:
>> On 11/15/2011 02:55 PM, Spico Florin wrote:
>>> Hello!
>>>    I have an UIMA AS application that is using third party libraries. I
>>> would like to know the following:
>>> 1. Where (location) we can add these third  libraries such that the
>>> deployed application to be aware of them and not throwing
>>> "ClassNotFoundException"?
>>>     A brute force solution for me, was to add them directly in the UIMA AS
>>> "lib/" folder, but this solution was just for testing and is not
>>> acceptable
>>> in production.
>>> 2. How can be set up this third party libraries when generating PEAR file
>>> in a such a way that deploying the application will consider them and
>>> won't
>>> be necessary to manually add them to the classpath?
>> UIMA AS doesn't directly support PEAR files. You will have to install the
>> pear and set the classpath when you deploy it to UIMA AS.
>> Where to put libraries so they will be correctly referenced in the PEAR
>> (i.e. they are included in the install.xml and setenv.txt) depends on how
>> you build the PEAR. You may need to include the libraries in your Eclipse
>> build path, or put them in a directory that your Maven configuration
>> includes when building the PEAR.
>> HTH,
>> Jens

View raw message