Julien Nioche wrote: > Hi, > > I was having the same problem as Jorn using the default version of Maven > from Ubuntu. I have upgraded it to 2.2.1 and can now build UIMA but still > cannot build the TikaAnnotator. > > When doing svn install in the TikaAnnotator directory I am getting : > *Reason: Cannot find parent: org.apache.uima:SandboxDistr for project: > org.apache.uima:TikaAnnotator:jar:2.3.0-incubating-SNAPSHOT for project > org.apache.uima:TikaAnnotator:jar:2.3.0-incubating-SNAPSHOT* > > I then tried to build SandboxDistr but am getting : > > *antrun:run {execution: CopyLicenseNoticeDisclaimer}] > [INFO] Executing tasks > [INFO] > ------------------------------------------------------------------------ > [ERROR] BUILD ERROR > [INFO] > ------------------------------------------------------------------------ > [INFO] An Ant BuildException has occured: > /usr/local/bin/uimaj-distr/src/main/readme not found.* > > whereas my uimaj-distr is actually located in a different directory (* > /usr/local/bin/uima-svn/uimaj-distr* with the sandbox > in*/usr/local/bin/uima-sandbox-svn > *). Is there an implicit requirement for the sandbox to be located within > the main UIMA directory? > > Once the sandbox is put inside the main uima dir everything compiles OK. > Here's the story.
For this release, we are planning to release uima (base), uima-as, sandbox, and uima-cpp together as one release. The parent POMs were re-arranged so that the uimaj pom is now the parent of the sandboxDistr pom. Parent POMs are found via 2 mechanims. One is looking them up using the information in the <relative-path> element of the POM - and as you have seen, that requires that the sandbox be located within the main uima directory. (This perhaps unusual requirement comes from working with Eclipse, which does not support hierarchical directories for projects). But there is another way too - maven (if it doesn't find the POM using the relative-path link) looks up the POM using the "maven coordinates" in the various maven repositories, starting with your local .m2 repository. So, all you have to do is build the uimaj POM and install it to your local repository. (Note that after things are released, any user would automatically get the parent POM downloaded from the release repositories, assuming they had maven set up to find these repositories). There is a "trick" to building the uimaj POM - if you just say "mvn install" in the directory of the uimaj project, it will build, but it will also build all of the base UIMA. If all you want to do is just install the POM, without building all of UIMA, you can do that using the -N parameter: type "mvn -N install". The -N parameter stops maven from processing the submodules. HTH. -Marshall > Thanks > > Julien > > > > >>> Won't have time to look into this in the short term but can try at some >>> point next week. Maybe someone with more experience of Maven can give it >>> >> a >> >>> try first and see if it compiles OK? >>> >>> >> I tried this and it compiled OK. >> I had success with the following (requires maven to be installed): >> >> cd to directory TikaAnnotator >> mvn install >> >> That builds it, builds any docbook documentation (there is none) and >> runs the test cases (there are none, I think). >> >> >> > >