Hi Richard, Yes, I had thought I removed all of the slashes, but I missed one. Thanks for your help and attention.
Regards, Matt On Fri, Dec 11, 2015 at 2:32 PM, Richard Eckart de Castilho <[email protected]> wrote: > Hi Matt, > > if the shade plugin reports that it include the required JAR, then maybe > the transformers in the shade plugin are not set up correctly. Mind that > the XML snippet here [1] cannot be copied as-is, but it is necessary to > strip the "\" and join the lines. The "\" are just used as line > continuation markers because in the PDF version of the document, the > example would otherwise be too wide. > > You can double-check if the transformers worked right by extracting the > JAR file and inspecting the types.txt file. > > Cheers, > > -- Richard > > [1] > https://uima.apache.org/d/uimafit-current/tools.uimafit.book.html#ugr.tools.uimafit.packaging > > > On 11.12.2015, at 15:24, Matthew DeAngelis <[email protected]> wrote: > > > > Thanks very much, Richard. Placing the META-INF folder in the source > > directory did allow me to auto-detect within Eclipse. I have also > converted > > my project to Maven as per your suggestion, since I am trying to use > Maven > > Shade to build a jar file. > > > > If you have some additional time, I would appreciate some assistance with > > that process as well. With auto-detection and with the CollectionReader > > specified, my code is now: > > > > CollectionReaderDescription cr = > > createReaderDescription(StringReader.class, StringReader.PARAM_LANGUAGE, > > "en", StringReader.PARAM_DOCUMENT_ID, name, > > StringReader.PARAM_DOCUMENT_TEXT, content); > > AnalysisEngineDescription djread = AnalysisEngineFactory. > > createEngineDescription(DJNMultiplier.class); > > SimplePipeline.runPipeline(cr,djread); > > > > Thanks to your help, this compiles and runs fine within Eclipse. With the > > Maven Shade plugin installed and pointed at the above class, I can also > > successfully build a jar file. However, when I run the jar file from the > > command line (in Windows), I get the error > > "org.apache.uima.cas.CASRuntimeException: JCas type > > "de.tudarmstadt.ukp.dkpro.core.api.metadata.type.DocumentMetaData" used > in > > Java code, but was not declared in the XML type descriptor" originating > in > > the StringReader above. The Shade logging, however, indicates that: > > > > [INFO] Including > > > de.tudarmstadt.ukp.dkpro.core:de.tudarmstadt.ukp.dkpro.core.api.metadata-asl:jar:1.7.0 > > in the shaded jar. > > > > which is, I believe, where this type is stored. What else do I need to > > configure to have Shade package all required descriptors? > > > > > > Regards, > > Matt > > > > On Fri, Dec 11, 2015 at 5:37 AM, Richard Eckart de Castilho < > [email protected]> > > wrote: > > > >> Hi Matt, > >> > >> I would recommend you set your project up as a Maven project. Eclipse > >> has a great Maven support. You later mention that you want to use the > >> Maven Shade plugin anyway. > >> > >> If you do not want to set up your project with Maven, please make sure > >> that the META-INF and desc folders are contained inside a source folder. > >> If you just have them in the project root, they won't end up in the > >> classpath at runtime. > >> > >> if you do switch to Maven, make sure that "META-INF" and "desc" are > >> situated > >> under "src/main/resources", otherwise Maven will not put them into the > JAR. > >> > >> That said, I'm a bit puzzled why this line would work at all: > >> > >>>> > >> > TypeSystemDescriptionFactory.createTypeSystemDescription("desc/types/DJTypes"); > >> > >> The line above should only work if "desc/types/DJTypes.xml" can be found > >> in the > >> classpath. > >> > >> With Apache uimaFIT 2.1.0, "META-INF/org.apache.uima.fit/types.txt" is > the > >> right > >> place to configure auto detection [1]. > >> > >>>>> classpath*:desc/types/*.xml > >> > >> > >> That sounds ok too. I would generally recommend to avoid wildcards here > >> though. > >> > >> Finally, you could try increasing the log level of whatever logging > >> framework you are > >> using (by default that would be Java Utility Logging) to see debug > output > >> of the type detection. > >> > >> For JUL, this post [1] on StackOverflow might help (mind for JUL you > need > >> to set the > >> level to FINEST). I use log4j most of the time and there is a post here > >> [2] indicating > >> how to set the log level. > >> > >> Cheers, > >> > >> -- Richard > >> > >> [1] http://stackoverflow.com/a/25677104/2511197 > >> [2] > >> > https://groups.google.com/d/msg/dkpro-core-user/YKQnvNJHaLk/e0EZRm7COmIJ > >> > >> > >
