Search code examples
javaclasspathuimaruta

How can I make an entire folder and its descendants available to UIMA (Ruta, Uimafit) as resources?


I have used the WORDLIST functionality to great effect with the default UIMA Ruta project. However, the Ruta project structure is not appropriate for use with a production web app, for instance.

Is there a way to make entire folders or the classpath in general to UIMA when using it from Java?

For clarity and simplicity, what I think I would like to do is to keep all my UIMA stuff under a single root folder. I was thinking src/main/ruta even though technically there would be non-source files there. Then, the structure under src/main/ruta could mirror the kind of structure you get when you create the default UIMA Ruta project.

The only issue with that is that the default structure put things in different folder by type but also respects folders when it comes to namespacing the scripts. So below are two different ways I might do it - the first being the way it is out of the box and the second being the way it would be in what I would describe as the most natural way to do it...

src/
 main/
  java/
  resource/ <--- maybe I should put it in here instead
  ruta/
   descriptor/
    BasicEngine.xml
    BasicTypeSystem.xml
    com/
     tacos/
      FubuEngine.xml
      FubuTypeSystem.xml
   resource/
    com/
     tacos/
      FubuWordList1.txt
      FubuWordList2.txt
      FubuWordList1.twl
      FubuWordList2.twl
      FubuWordLists.mtwl 
   script/
     com/
      tacos/
       Fubu.ruta

Solution

  • Did you try to set resourcePaths? In java, the parameter name is RutaEngine.PARAM_RESOURCE_PATHS. See this documentation.