You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ctakes.apache.org by "Finan, Sean" <Se...@childrens.harvard.edu> on 2020/07/01 21:01:57 UTC

Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

Hi Tom,

My settings.xml is completely commented.  It looks like defaults are used when nothing specific is provided.

I ran "mvn help:evaluate" and entered "${project.repositories}" when prompted.  My default repository is:
<repositories>
  <repository>
    <id>central</id>
    <name>Central Repository</name>
    <url>https://repo.maven.apache.org/maven2</url>
    <layout>default</layout>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
</repositories>

Yours should be the same.

Sean
________________________________________
From: Finan, Sean <Se...@childrens.harvard.edu>
Sent: Wednesday, July 1, 2020 3:58 PM
To: dev@ctakes.apache.org
Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

* External Email - Caution *


Hi Tom,

ctakes requires java 8.  So the first thing that needs to be done is putting java 8 on your system and starting the whole process from scratch.  You may end up commenting out the ytex stuff, but the rest of the experience should be different.

I am also not a maven expert.  I will have to look at my settings.xml and get back to you (after a meeting).

!! If anybody else out there has a quick answer, please speak up.

Sean

________________________________________
From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
Sent: Wednesday, July 1, 2020 3:14 PM
To: dev@ctakes.apache.org
Subject: RE: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

* External Email - Caution *


Not behind any firewalls or weird port issues - home internet and personal computer, no VPN.

javac -version: 14.0.1

If I understand maven correctly (spoiler alert: I don't) - it will look for artifacts in repos that are listed in the settings.xml file. I'm noticing my settings.xml file doesn't have ANY repos listed. Would you mind sharing the relevant sections of yours if you think that might be part of the problem?

On macos if installed with homebrew the maven settings are in:
 /usr/local/Cellar/maven/{maven version; mine is 3.6.3_1}/libexec/conf/settings.xml

My settings.xml is pretty much all commented out (it came that way!), but I've added the following localRepository:

<localRepository>${user.name}/.m2/repository</localRepository>

It seems like I should have some other public repos listed here...



-----Original Message-----
From: Finan, Sean <Se...@childrens.harvard.edu>
Sent: Wednesday, July 01, 2020 5:25 AM
To: dev@ctakes.apache.org
Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

Hi Tom,

first, let me offer my commiseration regarding the ytex failure.  I think that at some point I will write the community for objections and then make it a separate build from (primary) ctakes.  I think that your solution of removing ytex from the main project on your system is absolutely the correct thing to do since you don't want it anyway.

After that, I have only guesses as to what might be going on.  I haven't personally had any of the build problems that you are facing.

One thing that I didn't make clear:  You only need to build the ctakes-dockhand.jar, not all of ctakes.   But the errors you see are still troublesome (especially in docker).

>  [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

I don't understand the above error at all.  All of those artifacts do exist.  I use them on a (practically) daily basis. Is it possible that you don't have a port open or that your docker machine is behind a firewall of some sort?

There is one question that I have for you about the error

>ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol
[ERROR]   symbol:   class PostConstruct
[ERROR]   location: package javax.annotation

What version of java are you using?  ctakes requires version 8.  javax.annotation -should- be standard in java 8.  You can try running "javac -version".

Sean


________________________________________
From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
Sent: Tuesday, June 30, 2020 7:06 PM
To: dev@ctakes.apache.org
Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

* External Email - Caution *


Thank you for the direction, Sean. I ran in to build issues, some addressed on prior threads (YTEX related), some that I couldn’t find references to in the mailing list archives. I am still stuck not able to complete the docker build due to an unresolved dependency. Including the info below in case it is helpful to anyone, and in case anyone can help with what (hopefully!) is the final error.



Working through Dev install guide<https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_CTAKES_cTAKES-2B4.0-2BDeveloper-2BInstall-2BGuide&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=V7soEGQAN0_YigZAyAX_xHg6I72rT0_sx5ggS9ojp2A&e= >:

  1.  I get a FAILURE on building cTAKES YTEX

…

[INFO] ctakes-examples-res ................................ SUCCESS [  0.363 s]

[INFO] ctakes-examples .................................... SUCCESS [  1.311 s]

[INFO] Apache cTAKES Resources ctakes-ytex-res ............ SUCCESS [  0.308 s]

[INFO] Apache cTAKES YTEX ................................. FAILURE [  0.717 s]

[INFO] Apache cTAKES YTEX UIMA ............................ SKIPPED

[INFO] Apache cTAKES Tiny Rest Service .................... SKIPPED

[INFO] Apache cTAKES Distribution ......................... SKIPPED

[INFO] Apache cTAKES Regression-test ...................... SKIPPED

[INFO] Apache cTAKES template filler ...................... SKIPPED

[INFO] Apache cTAKES Dockhand ............................. SKIPPED



…

Caused by: java.lang.ClassNotFoundException: javax.activation.MimeTypeParseException

                at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)

                at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)

                at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)

                at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

                ... 51 more

     *   From this thread<https://urldefense.proofpoint.com/v2/url?u=http-3A__mail-2Darchives.apache.org_mod-5Fmbox_ctakes-2Ddev_201907.mbox_-253cCALfEtMvGzE9TppFCuLTNdgqzSU5ew5RVkVjUgq19WF3pwNTyRQ-40mail.gmail.com-253e&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=1UdlzWnTMDEq7f2ix9ZemrMBvsS4TAo2Kl0i7jOLq_g&e= > I tried:

                                                               i.       mvn clean install -Dmaven.test.skip=true

           *   I get the same FAILURE and stack trace
     *   From your comment in that same thread (“Wouldn't it be better to remove [YTEX]  dependency from the cTAKES core pom.xml…”) I thought I’d try removing all references to YTEX from {ctakes_trunk}/pom.xml:

                                                               i.      Comment out lines 201-204, 789-807, and 1023

     *   Rerun mvn clean install -Dmaven.test.skip=true

                                                               i.      Immediate ERROR due to YTEX dependencies in ctakes/trunk/ctakes-distribution/pom.xml

     *   Remove references to YTEX from ctakes-distribution/pom.xml

                                                               i.      Comment out lines 123-130

     *   Rerun mvn clean install -Dmaven.test.skip=true
  1.  Now I get a FAILURE on cTAKES Tiny Rest Service:

…

[INFO] ctakes-examples-res ................................ SUCCESS [  0.231 s]

[INFO] ctakes-examples .................................... SUCCESS [  0.680 s]

[INFO] Apache cTAKES Tiny Rest Service .................... FAILURE [  0.275 s]

[INFO] Apache cTAKES Distribution ......................... SKIPPED

[INFO] Apache cTAKES Regression-test ...................... SKIPPED

[INFO] Apache cTAKES template filler ...................... SKIPPED

[INFO] Apache cTAKES Dockhand ............................. SKIPPED



                [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.4:compile (default-compile) on project ctakes-tiny-rest: Compilation failure: Compilation failure:

[ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol

[ERROR]   symbol:   class PostConstruct

[ERROR]   location: package javax.annotation

[ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[43,4] error: cannot find symbol

  1.  I added the following dependency to ctakes/trunk/ctakes-tiny-rest/pom.xml:

<dependency>

<groupId>javax.annotation</groupId>

<artifactId>javax.annotation-api</artifactId>

<version>1.3.2</version>

</dependency>

  1.  …and commented out the <scope>provided</scope> attribute of the <groupId>javax.servlet</groupId> dependency in the same file
     *   I did this first, before adding the javax.annotation-api dependency mentioned above, and build still failed. I forgot to revert it before applying adding that dependency, so don’t know if it helped or not.



  1.  [INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

  1.  I then went through the steps you outlined:
     *   Run the ctakes-dockhand jar
     *   Choose: Rest Server Docker Bundle
     *   Add description
     *   Select pipeline features: [Multiple Sections, Prose Sentences, Tokens, Entities, Attributes, Locations, Severities]
     *   Select pipeline outputs: [FHIR, Text, Properties, XMI, CUI List]
     *   Finish -> Add Save To location
     *   cd {save-to location}/repos
     *   docker build -t dockhandtest .

[INFO] ------------------------------------------------------------------------

[INFO] BUILD FAILURE

[INFO] ------------------------------------------------------------------------

[INFO] Total time:  3.076 s

[INFO] Finished at: 2020-06-30T22:54:45Z

[INFO] ------------------------------------------------------------------------

[ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

  1.  From {save-to location}/repos
     *   Edit pom.xml – change ctakes.version from 4.0.1-SNAPSHOT to 4.0.1 (same error) then to 4.0.0:

<properties>

<ctakes.version>4.0.0</ctakes.version>

</properties>

     *   Rerun docker build -t dockhandtest .: error message improved – only one missing dependency now:

[INFO] ------------------------------------------------------------------------

[INFO] BUILD FAILURE

[INFO] ------------------------------------------------------------------------

[INFO] Total time:  43.040 s

[INFO] Finished at: 2020-06-30T23:00:38Z

[INFO] ------------------------------------------------------------------------

[ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.0 in central (https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=pcCpMxdVbxWvYPBx912AgjRUbL5FuLW8RCXHafDNpuM&e= ) -> [Help 1]



  1.  And this is where I am stuck. I understand that ctakes-tiny-rest:jar must not exist in 4.0.0 or 4.0.1 repositories, but am not sure how to get beyond this point.





On 6/26/20, 2:33 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:



    Hi Tom,



    Tiny Rest is not really a standalone deal, but utilization is pretty simple once you know what it is for.



    What you can try is:



    Create the jar for ctakes-dockhand using "mvn package".  You can put that jar file anywhere, even a system that doesn't have ctakes.



    Run that jar in a graphical environment (ms windows, gnome, etc.).  Double-click should start it.



    ctakes-dockhand is an installation tool that looks pretty much like any "wizard" style installer.  Make selections on each screen, click next, etc.



    Your selection on the first panel should be "docker rest" - or "rest docker" or something like that.  I can't remember.



    Then give it some description, create the pipeline that you want, etc.



    After you finish the last panel and click "Finish" a small number of files will be created in your chosen directory.   *Note, the tool will not exit by iteself.



    If you are familiar with docker, you can use the Dockerfile that is in that directory to create an image of a ctakes rest service.



    The docker image contains everything you need and when you run it will start a rest service.



    I haven't tried it, but you should also be able to just maven package using the pom in that same output directory without docker.  It will create a war file.

    If you go without docker then you will need to have a web server (tomcat, etc.) and move the war file into the webapps directory or whatever is required for that server.



    There is a little demo page that you can launch on a browser.  Just http to the ip address (of a VM, docker VM, localhost) with the port 8080 and ctakes_tiny_rest.

    For instance:

    https://urldefense.proofpoint.com/v2/url?u=http-3A__192.168.99.101-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=genox1Kxui9FMmo5ZeAVCeHiwiELuEeSO-y0RqpUYaM&e=



    You can curl or use some other rest client, but you should probably use the demo page just to see what it can do.



    To get different output formats you can send with "fhir", "umls", "cui", or "xmi".   "pretty" and "property" are works in progress.  The default is fhir json.



    Sean





    ________________________________________

    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>

    Sent: Friday, June 26, 2020 5:04 PM

    To: dev@ctakes.apache.org

    Subject: ctakes-tiny-rest - any guidance on running? [EXTERNAL]



    * External Email - Caution *





    I was very excited to find the ctakes-tiny-rest package in the svn repo, but have not been able to get it stood up.



    What I have tried:



      1.  Cloning the svn repo

      2.  mvn package

      3.  java -cp target/ctakes-tiny-rest-4.0.1-SNAPSHOT.jar org.apache.ctakes.rest.service.TinyController

         *   Error: Unable to initialize main class org.apache.ctakes.rest.service.TinyController



    Caused by: java.lang.NoClassDefFoundError: org/apache/uima/resource/ResourceInitializationException



    I am not very familiar with mvn or with the Spring framework so I suspect I am missing something fundamental.



    Is anyone making use of this component and can point me in the right direction?



    Thanks for your time and consideration!



    Tom



    Thomas Loehfelm, MD

    UC Davis Medical Center

    Abdominal Radiology

Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

Posted by "Finan, Sean" <Se...@childrens.harvard.edu>.
Hi Tom,

Those shouldn't be needed for the pipeline to work, but are definitely useful for custom pipelines.  The dockhand right now is for "simple" configuration, but adding specification of custom engine input parameters would be good.

For now it will be easy to add information to the comment in the piper file.  Later I can do something like add an editable text box.

Thanks,
Sean
________________________________________
From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
Sent: Tuesday, July 7, 2020 12:32 PM
To: dev@ctakes.apache.org
Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

* External Email - Caution *


There were two other aspects of the piperfile that required a bit of digging to figure out too and would be good to include in either the ctakes-tiny-rest or ctakes-dockhand packages. Best place might be to build them in as options in the dockhand GUI. I will try to add them myself in the coming weeks, but don’t have the developer chops to be sure I'm doing it well and not breaking things.

//BsvRegexSectionizer requires the path to the bsv file to be specified as the SectionsBsv param:
add BsvRegexSectionizer SectionsBsv=path/to/file.bsv

//LookupXml is the param to specify a custom dictionary xml
//I use this to change the term consumer from Default to Precision or SemanticCleanup
add org.apache.ctakes.dictionary.lookup2.ae.OverlapJCasTermAnnotator LookupXml=path/to/sno_rx_16ab.xml

Tom

On 7/6/20, 12:10 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

    > Is that the same fix you submitted?

    Yep.  You did some great detective work.

    Thanks for the additional info.
    ________________________________________
    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
    Sent: Monday, July 6, 2020 3:02 PM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

    * External Email - Caution *


    I was using the prose sentence detector (SentenceDetectorAnnotatorBIO) - I will check the fix you submitted.

    In the mean time, I WAS able to get a functioning REST server up and running by starting a new spring project from scratch and poaching bits and pieces from ctakes-dockhand and ctakes-tiny-rest as needed. In doing that I came across the issue with SentenceDetectorAnnotatorBIO and address it by adding a classifierJarPath variable in the piper file:

    add SentenceDetectorAnnotatorBIO classifierJarPath=/org/apache/ctakes/core/sentdetect/model.jar

    Is that the same fix you submitted?

    On 7/6/20, 10:49 AM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

        Hi Tom,

        Were you using the "Prose Sentences" option?  If so, I think that I may have found the problem (my fault, not the engine's).  I checked in a fix but it may take some time before it shows up on maven central.

        I will test some more tonight and see what comes up.

        Sean
        ________________________________________
        From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
        Sent: Wednesday, July 1, 2020 7:34 PM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

        * External Email - Caution *


        I hope you'll let me buy you a beer or two next time I'm in Boston - adding the maven snapshot repo did the trick.

        Followed the README.txt instructions:
        4.  Execute "docker build -t ctakes_tiny_rest .".
             This will build an image with the tag "ctakes_tiny_rest".
        5.  Set the environment variable "umlsUser" to your umls username.
        6.  Set the environment variable "umlsPass" to your umls password.
        5.  Execute "docker run --name my_ctakes_rest --rm -d -p 8080:8080 -e umlsUser -e umlsPass ctakes_tiny_rest".
             This will start a container named "my_ctakes_rest" that runs the server.
        6.  In a browser, visit "https://urldefense.proofpoint.com/v2/url?u=http-3A__IP.IP.IP.IP-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=TBQZ-y0nCfYSSP9s_iAV6NaW_MpMocKTt3FWqielDjk&e= ".
             This should open a ctakes demo front page.

        The demo page looks as expected but am getting an HTTP 500 error with each attempt, and "Error processing REST call" as the output. Browser dev console errors copied below. I'm sure I set umlsUser and umlsPass correctly and triple checked them at the UML Terminology Services login page.

        Nothing stands out to me from the trace, but I'll spend some time looking in to it to see what I can come up with.

        Tom

        javax.servlet.ServletException: Servlet.init() for servlet [ctakes-rest-service] threw exception
                org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
                org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
                org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
                org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
                org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
                org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
                org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
                org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
                org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                java.lang.Thread.run(Thread.java:748)
        Root Cause

        org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tinyController': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
                org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:137)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
                org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
                org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
                org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
                org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
                org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
                org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
                org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
                org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
                org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
                org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
                org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
                org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
                org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
                javax.servlet.GenericServlet.init(GenericServlet.java:158)
                org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
                org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
                org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
                org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
                org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
                org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
                org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
                org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
                org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                java.lang.Thread.run(Thread.java:748)
        Root Cause

        java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
                org.apache.ctakes.rest.service.TinyController.init(TinyController.java:52)
                sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                java.lang.reflect.Method.invoke(Method.java:498)
                org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:366)
                org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:311)
                org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:134)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
                org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
                org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
                org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
                org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
                org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
                org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
                org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
                org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
                org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
                org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
                org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
                org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
                org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
                javax.servlet.GenericServlet.init(GenericServlet.java:158)
                org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
                org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
                org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
                org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
                org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
                org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
                org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
                org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
                org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                java.lang.Thread.run(Thread.java:748)

        On 7/1/20, 4:06 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

            I had no idea that this was in the install guide:

            >$ exports MAVEN_OPTS='-Xms3072m -Xmx4g -Xss128M  -XX:+CMSClassUnloadingEnabled -XX:-UseGCOverheadLimit -Dmaven.test.failure.ignore=false'
            $  mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=2FoCH8QvUO_OvHjhD9TtgP30JI8ES9sohpufh8RDlgU&e=

            I never do that.  It is way too specific and I don't need to (or want to) do exactly what Jenkins does unless I'm trying to fix an error on a Jenkins build ...

            All that I use is:
            mvn -DskipTests=true clean package

            Everything else is a default setting.

            I have a thought:  You may need to explicitly add the maven snapshots repo
            https://urldefense.proofpoint.com/v2/url?u=https-3A__repository.apache.org_content_groups_snapshots&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=TgKg-4ASAgS0WTjSUsYmOegk9nrcEwJlYAAfAAU3wak&e=

            Please:
            In the pom.xml next to the Dockerfile, add the following  right above <build>..</build>

                <repositories>
                  <repository>
                     <id>apache.snapshots</id>
                     <name>Apache Development Snapshot Repository</name>
                      <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repository.apache.org_content_groups_snapshots_&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=bANlBnAM2tGMXMOxaQFJ8vrqnDo5vNjKl54_HAlvMHo&e= </url>
                     <releases>
                        <enabled>false</enabled>
                     </releases>
                     <snapshots>
                        <enabled>true</enabled>
                     </snapshots>
                  </repository>
               </repositories>


            That may help.  Let me know if it does then I will add it to the pom in trunk.

            Sean
            ________________________________________
            From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
            Sent: Wednesday, July 1, 2020 6:28 PM
            To: dev@ctakes.apache.org
            Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

            * External Email - Caution *


            Thanks again Sean. Java8 allows the build to complete even with Ytex - well, I should say, Ctakes built successfully, but then the sonar portion of the build triggered by this line in the developer install guide failed:

            mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=ALGTH-Hi6voMC5fJL2YiOYyLfTucZwVZurOl-hazXwE&e=

            I removed what seemed to be the offensive parts of the script and ran again as this and it worked:

            mvn --fail-at-end --errors --update-snapshots clean install -DskipTests=false

            Unfortunately, still getting the same error on docker build:
            [INFO] ------------------------------------------------------------------------
            [INFO] BUILD FAILURE
            [INFO] ------------------------------------------------------------------------
            [INFO] Total time:  3.563 s
            [INFO] Finished at: 2020-07-01T22:15:42Z
            [INFO] ------------------------------------------------------------------------
            [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

            From the stack trace here's the point where it starts throwing warnings after successfully findings POMs for non-ctakes packages and then not finding them for ctakes:
            ...
            Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=
            Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=  (14 kB at 285 kB/s)
            Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=
            Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=  (43 kB at 401 kB/s)
            [WARNING] The POM for org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT is missing, no dependency information available
            [WARNING] The POM for org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT is missing, no dependency information available
            [WARNING] The POM for org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT is missing, no dependency information available
            ...

            I ran the same "mvn help:evaluate" on my computer and get the same result as you. I commented out the ctakes-related commands from Dockerfile so that I could at least build the container with tomcat, maven, and openjdk8, and ran mvn help:evaluate from the container as well and got the same output.

            In case the issue was that I was building ALL of ctakes and not just dockhand, I tried that too from a fresh svn checkout of ctakes, cd {ctakes-dockhand} > mvn package and run the jar, but same issue.

            Ah well - I just don't have enough understanding of maven and java devops to get to the bottom of this. I really appreciate you taking the time to respond Sean, and apologize for the java version issue - rookie mistake!

            Tom

            On 7/1/20, 2:02 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

                Hi Tom,

                My settings.xml is completely commented.  It looks like defaults are used when nothing specific is provided.

                I ran "mvn help:evaluate" and entered "${project.repositories}" when prompted.  My default repository is:
                <repositories>
                  <repository>
                    <id>central</id>
                    <name>Central Repository</name>
                    <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=LbWH-d8QbjhFJh3OOL0NpLt0T8QGO9LFTuGv1EyVGB4&e= </url>
                    <layout>default</layout>
                    <snapshots>
                      <enabled>false</enabled>
                    </snapshots>
                  </repository>
                </repositories>

                Yours should be the same.

                Sean
                ________________________________________
                From: Finan, Sean <Se...@childrens.harvard.edu>
                Sent: Wednesday, July 1, 2020 3:58 PM
                To: dev@ctakes.apache.org
                Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

                * External Email - Caution *


                Hi Tom,

                ctakes requires java 8.  So the first thing that needs to be done is putting java 8 on your system and starting the whole process from scratch.  You may end up commenting out the ytex stuff, but the rest of the experience should be different.

                I am also not a maven expert.  I will have to look at my settings.xml and get back to you (after a meeting).

                !! If anybody else out there has a quick answer, please speak up.

                Sean

                ________________________________________
                From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
                Sent: Wednesday, July 1, 2020 3:14 PM
                To: dev@ctakes.apache.org
                Subject: RE: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

                * External Email - Caution *


                Not behind any firewalls or weird port issues - home internet and personal computer, no VPN.

                javac -version: 14.0.1

                If I understand maven correctly (spoiler alert: I don't) - it will look for artifacts in repos that are listed in the settings.xml file. I'm noticing my settings.xml file doesn't have ANY repos listed. Would you mind sharing the relevant sections of yours if you think that might be part of the problem?

                On macos if installed with homebrew the maven settings are in:
                 /usr/local/Cellar/maven/{maven version; mine is 3.6.3_1}/libexec/conf/settings.xml

                My settings.xml is pretty much all commented out (it came that way!), but I've added the following localRepository:

                <localRepository>${user.name}/.m2/repository</localRepository>

                It seems like I should have some other public repos listed here...



                -----Original Message-----
                From: Finan, Sean <Se...@childrens.harvard.edu>
                Sent: Wednesday, July 01, 2020 5:25 AM
                To: dev@ctakes.apache.org
                Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

                Hi Tom,

                first, let me offer my commiseration regarding the ytex failure.  I think that at some point I will write the community for objections and then make it a separate build from (primary) ctakes.  I think that your solution of removing ytex from the main project on your system is absolutely the correct thing to do since you don't want it anyway.

                After that, I have only guesses as to what might be going on.  I haven't personally had any of the build problems that you are facing.

                One thing that I didn't make clear:  You only need to build the ctakes-dockhand.jar, not all of ctakes.   But the errors you see are still troublesome (especially in docker).

                >  [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

                I don't understand the above error at all.  All of those artifacts do exist.  I use them on a (practically) daily basis. Is it possible that you don't have a port open or that your docker machine is behind a firewall of some sort?

                There is one question that I have for you about the error

                >ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol
                [ERROR]   symbol:   class PostConstruct
                [ERROR]   location: package javax.annotation

                What version of java are you using?  ctakes requires version 8.  javax.annotation -should- be standard in java 8.  You can try running "javac -version".

                Sean


                ________________________________________
                From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
                Sent: Tuesday, June 30, 2020 7:06 PM
                To: dev@ctakes.apache.org
                Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

                * External Email - Caution *


                Thank you for the direction, Sean. I ran in to build issues, some addressed on prior threads (YTEX related), some that I couldn’t find references to in the mailing list archives. I am still stuck not able to complete the docker build due to an unresolved dependency. Including the info below in case it is helpful to anyone, and in case anyone can help with what (hopefully!) is the final error.



                Working through Dev install guide<https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_CTAKES_cTAKES-2B4.0-2BDeveloper-2BInstall-2BGuide&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=V7soEGQAN0_YigZAyAX_xHg6I72rT0_sx5ggS9ojp2A&e= >:

                  1.  I get a FAILURE on building cTAKES YTEX

                …

                [INFO] ctakes-examples-res ................................ SUCCESS [  0.363 s]

                [INFO] ctakes-examples .................................... SUCCESS [  1.311 s]

                [INFO] Apache cTAKES Resources ctakes-ytex-res ............ SUCCESS [  0.308 s]

                [INFO] Apache cTAKES YTEX ................................. FAILURE [  0.717 s]

                [INFO] Apache cTAKES YTEX UIMA ............................ SKIPPED

                [INFO] Apache cTAKES Tiny Rest Service .................... SKIPPED

                [INFO] Apache cTAKES Distribution ......................... SKIPPED

                [INFO] Apache cTAKES Regression-test ...................... SKIPPED

                [INFO] Apache cTAKES template filler ...................... SKIPPED

                [INFO] Apache cTAKES Dockhand ............................. SKIPPED



                …

                Caused by: java.lang.ClassNotFoundException: javax.activation.MimeTypeParseException

                                at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)

                                at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)

                                at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)

                                at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

                                ... 51 more

                     *   From this thread<https://urldefense.proofpoint.com/v2/url?u=http-3A__mail-2Darchives.apache.org_mod-5Fmbox_ctakes-2Ddev_201907.mbox_-253cCALfEtMvGzE9TppFCuLTNdgqzSU5ew5RVkVjUgq19WF3pwNTyRQ-40mail.gmail.com-253e&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=1UdlzWnTMDEq7f2ix9ZemrMBvsS4TAo2Kl0i7jOLq_g&e= > I tried:

                                                                               i.       mvn clean install -Dmaven.test.skip=true

                           *   I get the same FAILURE and stack trace
                     *   From your comment in that same thread (“Wouldn't it be better to remove [YTEX]  dependency from the cTAKES core pom.xml…”) I thought I’d try removing all references to YTEX from {ctakes_trunk}/pom.xml:

                                                                               i.      Comment out lines 201-204, 789-807, and 1023

                     *   Rerun mvn clean install -Dmaven.test.skip=true

                                                                               i.      Immediate ERROR due to YTEX dependencies in ctakes/trunk/ctakes-distribution/pom.xml

                     *   Remove references to YTEX from ctakes-distribution/pom.xml

                                                                               i.      Comment out lines 123-130

                     *   Rerun mvn clean install -Dmaven.test.skip=true
                  1.  Now I get a FAILURE on cTAKES Tiny Rest Service:

                …

                [INFO] ctakes-examples-res ................................ SUCCESS [  0.231 s]

                [INFO] ctakes-examples .................................... SUCCESS [  0.680 s]

                [INFO] Apache cTAKES Tiny Rest Service .................... FAILURE [  0.275 s]

                [INFO] Apache cTAKES Distribution ......................... SKIPPED

                [INFO] Apache cTAKES Regression-test ...................... SKIPPED

                [INFO] Apache cTAKES template filler ...................... SKIPPED

                [INFO] Apache cTAKES Dockhand ............................. SKIPPED



                                [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.4:compile (default-compile) on project ctakes-tiny-rest: Compilation failure: Compilation failure:

                [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol

                [ERROR]   symbol:   class PostConstruct

                [ERROR]   location: package javax.annotation

                [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[43,4] error: cannot find symbol

                  1.  I added the following dependency to ctakes/trunk/ctakes-tiny-rest/pom.xml:

                <dependency>

                <groupId>javax.annotation</groupId>

                <artifactId>javax.annotation-api</artifactId>

                <version>1.3.2</version>

                </dependency>

                  1.  …and commented out the <scope>provided</scope> attribute of the <groupId>javax.servlet</groupId> dependency in the same file
                     *   I did this first, before adding the javax.annotation-api dependency mentioned above, and build still failed. I forgot to revert it before applying adding that dependency, so don’t know if it helped or not.



                  1.  [INFO] ------------------------------------------------------------------------

                [INFO] BUILD SUCCESS

                [INFO] ------------------------------------------------------------------------

                  1.  I then went through the steps you outlined:
                     *   Run the ctakes-dockhand jar
                     *   Choose: Rest Server Docker Bundle
                     *   Add description
                     *   Select pipeline features: [Multiple Sections, Prose Sentences, Tokens, Entities, Attributes, Locations, Severities]
                     *   Select pipeline outputs: [FHIR, Text, Properties, XMI, CUI List]
                     *   Finish -> Add Save To location
                     *   cd {save-to location}/repos
                     *   docker build -t dockhandtest .

                [INFO] ------------------------------------------------------------------------

                [INFO] BUILD FAILURE

                [INFO] ------------------------------------------------------------------------

                [INFO] Total time:  3.076 s

                [INFO] Finished at: 2020-06-30T22:54:45Z

                [INFO] ------------------------------------------------------------------------

                [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

                  1.  From {save-to location}/repos
                     *   Edit pom.xml – change ctakes.version from 4.0.1-SNAPSHOT to 4.0.1 (same error) then to 4.0.0:

                <properties>

                <ctakes.version>4.0.0</ctakes.version>

                </properties>

                     *   Rerun docker build -t dockhandtest .: error message improved – only one missing dependency now:

                [INFO] ------------------------------------------------------------------------

                [INFO] BUILD FAILURE

                [INFO] ------------------------------------------------------------------------

                [INFO] Total time:  43.040 s

                [INFO] Finished at: 2020-06-30T23:00:38Z

                [INFO] ------------------------------------------------------------------------

                [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.0 in central (https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=pcCpMxdVbxWvYPBx912AgjRUbL5FuLW8RCXHafDNpuM&e= ) -> [Help 1]



                  1.  And this is where I am stuck. I understand that ctakes-tiny-rest:jar must not exist in 4.0.0 or 4.0.1 repositories, but am not sure how to get beyond this point.





                On 6/26/20, 2:33 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:



                    Hi Tom,



                    Tiny Rest is not really a standalone deal, but utilization is pretty simple once you know what it is for.



                    What you can try is:



                    Create the jar for ctakes-dockhand using "mvn package".  You can put that jar file anywhere, even a system that doesn't have ctakes.



                    Run that jar in a graphical environment (ms windows, gnome, etc.).  Double-click should start it.



                    ctakes-dockhand is an installation tool that looks pretty much like any "wizard" style installer.  Make selections on each screen, click next, etc.



                    Your selection on the first panel should be "docker rest" - or "rest docker" or something like that.  I can't remember.



                    Then give it some description, create the pipeline that you want, etc.



                    After you finish the last panel and click "Finish" a small number of files will be created in your chosen directory.   *Note, the tool will not exit by iteself.



                    If you are familiar with docker, you can use the Dockerfile that is in that directory to create an image of a ctakes rest service.



                    The docker image contains everything you need and when you run it will start a rest service.



                    I haven't tried it, but you should also be able to just maven package using the pom in that same output directory without docker.  It will create a war file.

                    If you go without docker then you will need to have a web server (tomcat, etc.) and move the war file into the webapps directory or whatever is required for that server.



                    There is a little demo page that you can launch on a browser.  Just http to the ip address (of a VM, docker VM, localhost) with the port 8080 and ctakes_tiny_rest.

                    For instance:

                    https://urldefense.proofpoint.com/v2/url?u=http-3A__192.168.99.101-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=genox1Kxui9FMmo5ZeAVCeHiwiELuEeSO-y0RqpUYaM&e=



                    You can curl or use some other rest client, but you should probably use the demo page just to see what it can do.



                    To get different output formats you can send with "fhir", "umls", "cui", or "xmi".   "pretty" and "property" are works in progress.  The default is fhir json.



                    Sean





                    ________________________________________

                    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>

                    Sent: Friday, June 26, 2020 5:04 PM

                    To: dev@ctakes.apache.org

                    Subject: ctakes-tiny-rest - any guidance on running? [EXTERNAL]



                    * External Email - Caution *





                    I was very excited to find the ctakes-tiny-rest package in the svn repo, but have not been able to get it stood up.



                    What I have tried:



                      1.  Cloning the svn repo

                      2.  mvn package

                      3.  java -cp target/ctakes-tiny-rest-4.0.1-SNAPSHOT.jar org.apache.ctakes.rest.service.TinyController

                         *   Error: Unable to initialize main class org.apache.ctakes.rest.service.TinyController



                    Caused by: java.lang.NoClassDefFoundError: org/apache/uima/resource/ResourceInitializationException



                    I am not very familiar with mvn or with the Spring framework so I suspect I am missing something fundamental.



                    Is anyone making use of this component and can point me in the right direction?



                    Thanks for your time and consideration!



                    Tom



                    Thomas Loehfelm, MD

                    UC Davis Medical Center

                    Abdominal Radiology





Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

Posted by Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>.
There were two other aspects of the piperfile that required a bit of digging to figure out too and would be good to include in either the ctakes-tiny-rest or ctakes-dockhand packages. Best place might be to build them in as options in the dockhand GUI. I will try to add them myself in the coming weeks, but don’t have the developer chops to be sure I'm doing it well and not breaking things.

//BsvRegexSectionizer requires the path to the bsv file to be specified as the SectionsBsv param:
add BsvRegexSectionizer SectionsBsv=path/to/file.bsv

//LookupXml is the param to specify a custom dictionary xml
//I use this to change the term consumer from Default to Precision or SemanticCleanup
add org.apache.ctakes.dictionary.lookup2.ae.OverlapJCasTermAnnotator LookupXml=path/to/sno_rx_16ab.xml

Tom

On 7/6/20, 12:10 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

    > Is that the same fix you submitted?

    Yep.  You did some great detective work.

    Thanks for the additional info.
    ________________________________________
    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
    Sent: Monday, July 6, 2020 3:02 PM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

    * External Email - Caution *


    I was using the prose sentence detector (SentenceDetectorAnnotatorBIO) - I will check the fix you submitted.

    In the mean time, I WAS able to get a functioning REST server up and running by starting a new spring project from scratch and poaching bits and pieces from ctakes-dockhand and ctakes-tiny-rest as needed. In doing that I came across the issue with SentenceDetectorAnnotatorBIO and address it by adding a classifierJarPath variable in the piper file:

    add SentenceDetectorAnnotatorBIO classifierJarPath=/org/apache/ctakes/core/sentdetect/model.jar

    Is that the same fix you submitted?

    On 7/6/20, 10:49 AM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

        Hi Tom,

        Were you using the "Prose Sentences" option?  If so, I think that I may have found the problem (my fault, not the engine's).  I checked in a fix but it may take some time before it shows up on maven central.

        I will test some more tonight and see what comes up.

        Sean
        ________________________________________
        From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
        Sent: Wednesday, July 1, 2020 7:34 PM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

        * External Email - Caution *


        I hope you'll let me buy you a beer or two next time I'm in Boston - adding the maven snapshot repo did the trick.

        Followed the README.txt instructions:
        4.  Execute "docker build -t ctakes_tiny_rest .".
             This will build an image with the tag "ctakes_tiny_rest".
        5.  Set the environment variable "umlsUser" to your umls username.
        6.  Set the environment variable "umlsPass" to your umls password.
        5.  Execute "docker run --name my_ctakes_rest --rm -d -p 8080:8080 -e umlsUser -e umlsPass ctakes_tiny_rest".
             This will start a container named "my_ctakes_rest" that runs the server.
        6.  In a browser, visit "https://urldefense.proofpoint.com/v2/url?u=http-3A__IP.IP.IP.IP-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=TBQZ-y0nCfYSSP9s_iAV6NaW_MpMocKTt3FWqielDjk&e= ".
             This should open a ctakes demo front page.

        The demo page looks as expected but am getting an HTTP 500 error with each attempt, and "Error processing REST call" as the output. Browser dev console errors copied below. I'm sure I set umlsUser and umlsPass correctly and triple checked them at the UML Terminology Services login page.

        Nothing stands out to me from the trace, but I'll spend some time looking in to it to see what I can come up with.

        Tom

        javax.servlet.ServletException: Servlet.init() for servlet [ctakes-rest-service] threw exception
                org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
                org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
                org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
                org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
                org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
                org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
                org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
                org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
                org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                java.lang.Thread.run(Thread.java:748)
        Root Cause

        org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tinyController': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
                org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:137)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
                org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
                org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
                org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
                org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
                org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
                org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
                org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
                org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
                org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
                org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
                org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
                org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
                org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
                javax.servlet.GenericServlet.init(GenericServlet.java:158)
                org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
                org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
                org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
                org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
                org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
                org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
                org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
                org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
                org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                java.lang.Thread.run(Thread.java:748)
        Root Cause

        java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
                org.apache.ctakes.rest.service.TinyController.init(TinyController.java:52)
                sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                java.lang.reflect.Method.invoke(Method.java:498)
                org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:366)
                org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:311)
                org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:134)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
                org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
                org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
                org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
                org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
                org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
                org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
                org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
                org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
                org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
                org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
                org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
                org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
                org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
                org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
                javax.servlet.GenericServlet.init(GenericServlet.java:158)
                org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
                org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
                org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
                org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
                org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
                org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
                org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
                org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
                org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
                java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                java.lang.Thread.run(Thread.java:748)

        On 7/1/20, 4:06 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

            I had no idea that this was in the install guide:

            >$ exports MAVEN_OPTS='-Xms3072m -Xmx4g -Xss128M  -XX:+CMSClassUnloadingEnabled -XX:-UseGCOverheadLimit -Dmaven.test.failure.ignore=false'
            $  mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=2FoCH8QvUO_OvHjhD9TtgP30JI8ES9sohpufh8RDlgU&e=

            I never do that.  It is way too specific and I don't need to (or want to) do exactly what Jenkins does unless I'm trying to fix an error on a Jenkins build ...

            All that I use is:
            mvn -DskipTests=true clean package

            Everything else is a default setting.

            I have a thought:  You may need to explicitly add the maven snapshots repo
            https://urldefense.proofpoint.com/v2/url?u=https-3A__repository.apache.org_content_groups_snapshots&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=TgKg-4ASAgS0WTjSUsYmOegk9nrcEwJlYAAfAAU3wak&e=

            Please:
            In the pom.xml next to the Dockerfile, add the following  right above <build>..</build>

                <repositories>
                  <repository>
                     <id>apache.snapshots</id>
                     <name>Apache Development Snapshot Repository</name>
                      <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repository.apache.org_content_groups_snapshots_&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=bANlBnAM2tGMXMOxaQFJ8vrqnDo5vNjKl54_HAlvMHo&e= </url>
                     <releases>
                        <enabled>false</enabled>
                     </releases>
                     <snapshots>
                        <enabled>true</enabled>
                     </snapshots>
                  </repository>
               </repositories>


            That may help.  Let me know if it does then I will add it to the pom in trunk.

            Sean
            ________________________________________
            From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
            Sent: Wednesday, July 1, 2020 6:28 PM
            To: dev@ctakes.apache.org
            Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

            * External Email - Caution *


            Thanks again Sean. Java8 allows the build to complete even with Ytex - well, I should say, Ctakes built successfully, but then the sonar portion of the build triggered by this line in the developer install guide failed:

            mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=ALGTH-Hi6voMC5fJL2YiOYyLfTucZwVZurOl-hazXwE&e=

            I removed what seemed to be the offensive parts of the script and ran again as this and it worked:

            mvn --fail-at-end --errors --update-snapshots clean install -DskipTests=false

            Unfortunately, still getting the same error on docker build:
            [INFO] ------------------------------------------------------------------------
            [INFO] BUILD FAILURE
            [INFO] ------------------------------------------------------------------------
            [INFO] Total time:  3.563 s
            [INFO] Finished at: 2020-07-01T22:15:42Z
            [INFO] ------------------------------------------------------------------------
            [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

            From the stack trace here's the point where it starts throwing warnings after successfully findings POMs for non-ctakes packages and then not finding them for ctakes:
            ...
            Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=
            Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=  (14 kB at 285 kB/s)
            Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=
            Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=  (43 kB at 401 kB/s)
            [WARNING] The POM for org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT is missing, no dependency information available
            [WARNING] The POM for org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT is missing, no dependency information available
            [WARNING] The POM for org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT is missing, no dependency information available
            ...

            I ran the same "mvn help:evaluate" on my computer and get the same result as you. I commented out the ctakes-related commands from Dockerfile so that I could at least build the container with tomcat, maven, and openjdk8, and ran mvn help:evaluate from the container as well and got the same output.

            In case the issue was that I was building ALL of ctakes and not just dockhand, I tried that too from a fresh svn checkout of ctakes, cd {ctakes-dockhand} > mvn package and run the jar, but same issue.

            Ah well - I just don't have enough understanding of maven and java devops to get to the bottom of this. I really appreciate you taking the time to respond Sean, and apologize for the java version issue - rookie mistake!

            Tom

            On 7/1/20, 2:02 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

                Hi Tom,

                My settings.xml is completely commented.  It looks like defaults are used when nothing specific is provided.

                I ran "mvn help:evaluate" and entered "${project.repositories}" when prompted.  My default repository is:
                <repositories>
                  <repository>
                    <id>central</id>
                    <name>Central Repository</name>
                    <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=LbWH-d8QbjhFJh3OOL0NpLt0T8QGO9LFTuGv1EyVGB4&e= </url>
                    <layout>default</layout>
                    <snapshots>
                      <enabled>false</enabled>
                    </snapshots>
                  </repository>
                </repositories>

                Yours should be the same.

                Sean
                ________________________________________
                From: Finan, Sean <Se...@childrens.harvard.edu>
                Sent: Wednesday, July 1, 2020 3:58 PM
                To: dev@ctakes.apache.org
                Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

                * External Email - Caution *


                Hi Tom,

                ctakes requires java 8.  So the first thing that needs to be done is putting java 8 on your system and starting the whole process from scratch.  You may end up commenting out the ytex stuff, but the rest of the experience should be different.

                I am also not a maven expert.  I will have to look at my settings.xml and get back to you (after a meeting).

                !! If anybody else out there has a quick answer, please speak up.

                Sean

                ________________________________________
                From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
                Sent: Wednesday, July 1, 2020 3:14 PM
                To: dev@ctakes.apache.org
                Subject: RE: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

                * External Email - Caution *


                Not behind any firewalls or weird port issues - home internet and personal computer, no VPN.

                javac -version: 14.0.1

                If I understand maven correctly (spoiler alert: I don't) - it will look for artifacts in repos that are listed in the settings.xml file. I'm noticing my settings.xml file doesn't have ANY repos listed. Would you mind sharing the relevant sections of yours if you think that might be part of the problem?

                On macos if installed with homebrew the maven settings are in:
                 /usr/local/Cellar/maven/{maven version; mine is 3.6.3_1}/libexec/conf/settings.xml

                My settings.xml is pretty much all commented out (it came that way!), but I've added the following localRepository:

                <localRepository>${user.name}/.m2/repository</localRepository>

                It seems like I should have some other public repos listed here...



                -----Original Message-----
                From: Finan, Sean <Se...@childrens.harvard.edu>
                Sent: Wednesday, July 01, 2020 5:25 AM
                To: dev@ctakes.apache.org
                Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

                Hi Tom,

                first, let me offer my commiseration regarding the ytex failure.  I think that at some point I will write the community for objections and then make it a separate build from (primary) ctakes.  I think that your solution of removing ytex from the main project on your system is absolutely the correct thing to do since you don't want it anyway.

                After that, I have only guesses as to what might be going on.  I haven't personally had any of the build problems that you are facing.

                One thing that I didn't make clear:  You only need to build the ctakes-dockhand.jar, not all of ctakes.   But the errors you see are still troublesome (especially in docker).

                >  [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

                I don't understand the above error at all.  All of those artifacts do exist.  I use them on a (practically) daily basis. Is it possible that you don't have a port open or that your docker machine is behind a firewall of some sort?

                There is one question that I have for you about the error

                >ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol
                [ERROR]   symbol:   class PostConstruct
                [ERROR]   location: package javax.annotation

                What version of java are you using?  ctakes requires version 8.  javax.annotation -should- be standard in java 8.  You can try running "javac -version".

                Sean


                ________________________________________
                From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
                Sent: Tuesday, June 30, 2020 7:06 PM
                To: dev@ctakes.apache.org
                Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

                * External Email - Caution *


                Thank you for the direction, Sean. I ran in to build issues, some addressed on prior threads (YTEX related), some that I couldn’t find references to in the mailing list archives. I am still stuck not able to complete the docker build due to an unresolved dependency. Including the info below in case it is helpful to anyone, and in case anyone can help with what (hopefully!) is the final error.



                Working through Dev install guide<https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_CTAKES_cTAKES-2B4.0-2BDeveloper-2BInstall-2BGuide&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=V7soEGQAN0_YigZAyAX_xHg6I72rT0_sx5ggS9ojp2A&e= >:

                  1.  I get a FAILURE on building cTAKES YTEX

                …

                [INFO] ctakes-examples-res ................................ SUCCESS [  0.363 s]

                [INFO] ctakes-examples .................................... SUCCESS [  1.311 s]

                [INFO] Apache cTAKES Resources ctakes-ytex-res ............ SUCCESS [  0.308 s]

                [INFO] Apache cTAKES YTEX ................................. FAILURE [  0.717 s]

                [INFO] Apache cTAKES YTEX UIMA ............................ SKIPPED

                [INFO] Apache cTAKES Tiny Rest Service .................... SKIPPED

                [INFO] Apache cTAKES Distribution ......................... SKIPPED

                [INFO] Apache cTAKES Regression-test ...................... SKIPPED

                [INFO] Apache cTAKES template filler ...................... SKIPPED

                [INFO] Apache cTAKES Dockhand ............................. SKIPPED



                …

                Caused by: java.lang.ClassNotFoundException: javax.activation.MimeTypeParseException

                                at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)

                                at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)

                                at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)

                                at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

                                ... 51 more

                     *   From this thread<https://urldefense.proofpoint.com/v2/url?u=http-3A__mail-2Darchives.apache.org_mod-5Fmbox_ctakes-2Ddev_201907.mbox_-253cCALfEtMvGzE9TppFCuLTNdgqzSU5ew5RVkVjUgq19WF3pwNTyRQ-40mail.gmail.com-253e&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=1UdlzWnTMDEq7f2ix9ZemrMBvsS4TAo2Kl0i7jOLq_g&e= > I tried:

                                                                               i.       mvn clean install -Dmaven.test.skip=true

                           *   I get the same FAILURE and stack trace
                     *   From your comment in that same thread (“Wouldn't it be better to remove [YTEX]  dependency from the cTAKES core pom.xml…”) I thought I’d try removing all references to YTEX from {ctakes_trunk}/pom.xml:

                                                                               i.      Comment out lines 201-204, 789-807, and 1023

                     *   Rerun mvn clean install -Dmaven.test.skip=true

                                                                               i.      Immediate ERROR due to YTEX dependencies in ctakes/trunk/ctakes-distribution/pom.xml

                     *   Remove references to YTEX from ctakes-distribution/pom.xml

                                                                               i.      Comment out lines 123-130

                     *   Rerun mvn clean install -Dmaven.test.skip=true
                  1.  Now I get a FAILURE on cTAKES Tiny Rest Service:

                …

                [INFO] ctakes-examples-res ................................ SUCCESS [  0.231 s]

                [INFO] ctakes-examples .................................... SUCCESS [  0.680 s]

                [INFO] Apache cTAKES Tiny Rest Service .................... FAILURE [  0.275 s]

                [INFO] Apache cTAKES Distribution ......................... SKIPPED

                [INFO] Apache cTAKES Regression-test ...................... SKIPPED

                [INFO] Apache cTAKES template filler ...................... SKIPPED

                [INFO] Apache cTAKES Dockhand ............................. SKIPPED



                                [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.4:compile (default-compile) on project ctakes-tiny-rest: Compilation failure: Compilation failure:

                [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol

                [ERROR]   symbol:   class PostConstruct

                [ERROR]   location: package javax.annotation

                [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[43,4] error: cannot find symbol

                  1.  I added the following dependency to ctakes/trunk/ctakes-tiny-rest/pom.xml:

                <dependency>

                <groupId>javax.annotation</groupId>

                <artifactId>javax.annotation-api</artifactId>

                <version>1.3.2</version>

                </dependency>

                  1.  …and commented out the <scope>provided</scope> attribute of the <groupId>javax.servlet</groupId> dependency in the same file
                     *   I did this first, before adding the javax.annotation-api dependency mentioned above, and build still failed. I forgot to revert it before applying adding that dependency, so don’t know if it helped or not.



                  1.  [INFO] ------------------------------------------------------------------------

                [INFO] BUILD SUCCESS

                [INFO] ------------------------------------------------------------------------

                  1.  I then went through the steps you outlined:
                     *   Run the ctakes-dockhand jar
                     *   Choose: Rest Server Docker Bundle
                     *   Add description
                     *   Select pipeline features: [Multiple Sections, Prose Sentences, Tokens, Entities, Attributes, Locations, Severities]
                     *   Select pipeline outputs: [FHIR, Text, Properties, XMI, CUI List]
                     *   Finish -> Add Save To location
                     *   cd {save-to location}/repos
                     *   docker build -t dockhandtest .

                [INFO] ------------------------------------------------------------------------

                [INFO] BUILD FAILURE

                [INFO] ------------------------------------------------------------------------

                [INFO] Total time:  3.076 s

                [INFO] Finished at: 2020-06-30T22:54:45Z

                [INFO] ------------------------------------------------------------------------

                [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

                  1.  From {save-to location}/repos
                     *   Edit pom.xml – change ctakes.version from 4.0.1-SNAPSHOT to 4.0.1 (same error) then to 4.0.0:

                <properties>

                <ctakes.version>4.0.0</ctakes.version>

                </properties>

                     *   Rerun docker build -t dockhandtest .: error message improved – only one missing dependency now:

                [INFO] ------------------------------------------------------------------------

                [INFO] BUILD FAILURE

                [INFO] ------------------------------------------------------------------------

                [INFO] Total time:  43.040 s

                [INFO] Finished at: 2020-06-30T23:00:38Z

                [INFO] ------------------------------------------------------------------------

                [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.0 in central (https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=pcCpMxdVbxWvYPBx912AgjRUbL5FuLW8RCXHafDNpuM&e= ) -> [Help 1]



                  1.  And this is where I am stuck. I understand that ctakes-tiny-rest:jar must not exist in 4.0.0 or 4.0.1 repositories, but am not sure how to get beyond this point.





                On 6/26/20, 2:33 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:



                    Hi Tom,



                    Tiny Rest is not really a standalone deal, but utilization is pretty simple once you know what it is for.



                    What you can try is:



                    Create the jar for ctakes-dockhand using "mvn package".  You can put that jar file anywhere, even a system that doesn't have ctakes.



                    Run that jar in a graphical environment (ms windows, gnome, etc.).  Double-click should start it.



                    ctakes-dockhand is an installation tool that looks pretty much like any "wizard" style installer.  Make selections on each screen, click next, etc.



                    Your selection on the first panel should be "docker rest" - or "rest docker" or something like that.  I can't remember.



                    Then give it some description, create the pipeline that you want, etc.



                    After you finish the last panel and click "Finish" a small number of files will be created in your chosen directory.   *Note, the tool will not exit by iteself.



                    If you are familiar with docker, you can use the Dockerfile that is in that directory to create an image of a ctakes rest service.



                    The docker image contains everything you need and when you run it will start a rest service.



                    I haven't tried it, but you should also be able to just maven package using the pom in that same output directory without docker.  It will create a war file.

                    If you go without docker then you will need to have a web server (tomcat, etc.) and move the war file into the webapps directory or whatever is required for that server.



                    There is a little demo page that you can launch on a browser.  Just http to the ip address (of a VM, docker VM, localhost) with the port 8080 and ctakes_tiny_rest.

                    For instance:

                    https://urldefense.proofpoint.com/v2/url?u=http-3A__192.168.99.101-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=genox1Kxui9FMmo5ZeAVCeHiwiELuEeSO-y0RqpUYaM&e=



                    You can curl or use some other rest client, but you should probably use the demo page just to see what it can do.



                    To get different output formats you can send with "fhir", "umls", "cui", or "xmi".   "pretty" and "property" are works in progress.  The default is fhir json.



                    Sean





                    ________________________________________

                    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>

                    Sent: Friday, June 26, 2020 5:04 PM

                    To: dev@ctakes.apache.org

                    Subject: ctakes-tiny-rest - any guidance on running? [EXTERNAL]



                    * External Email - Caution *





                    I was very excited to find the ctakes-tiny-rest package in the svn repo, but have not been able to get it stood up.



                    What I have tried:



                      1.  Cloning the svn repo

                      2.  mvn package

                      3.  java -cp target/ctakes-tiny-rest-4.0.1-SNAPSHOT.jar org.apache.ctakes.rest.service.TinyController

                         *   Error: Unable to initialize main class org.apache.ctakes.rest.service.TinyController



                    Caused by: java.lang.NoClassDefFoundError: org/apache/uima/resource/ResourceInitializationException



                    I am not very familiar with mvn or with the Spring framework so I suspect I am missing something fundamental.



                    Is anyone making use of this component and can point me in the right direction?



                    Thanks for your time and consideration!



                    Tom



                    Thomas Loehfelm, MD

                    UC Davis Medical Center

                    Abdominal Radiology





Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

Posted by "Finan, Sean" <Se...@childrens.harvard.edu>.
> Is that the same fix you submitted?

Yep.  You did some great detective work.

Thanks for the additional info.
________________________________________
From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
Sent: Monday, July 6, 2020 3:02 PM
To: dev@ctakes.apache.org
Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

* External Email - Caution *


I was using the prose sentence detector (SentenceDetectorAnnotatorBIO) - I will check the fix you submitted.

In the mean time, I WAS able to get a functioning REST server up and running by starting a new spring project from scratch and poaching bits and pieces from ctakes-dockhand and ctakes-tiny-rest as needed. In doing that I came across the issue with SentenceDetectorAnnotatorBIO and address it by adding a classifierJarPath variable in the piper file:

add SentenceDetectorAnnotatorBIO classifierJarPath=/org/apache/ctakes/core/sentdetect/model.jar

Is that the same fix you submitted?

On 7/6/20, 10:49 AM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

    Hi Tom,

    Were you using the "Prose Sentences" option?  If so, I think that I may have found the problem (my fault, not the engine's).  I checked in a fix but it may take some time before it shows up on maven central.

    I will test some more tonight and see what comes up.

    Sean
    ________________________________________
    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
    Sent: Wednesday, July 1, 2020 7:34 PM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

    * External Email - Caution *


    I hope you'll let me buy you a beer or two next time I'm in Boston - adding the maven snapshot repo did the trick.

    Followed the README.txt instructions:
    4.  Execute "docker build -t ctakes_tiny_rest .".
         This will build an image with the tag "ctakes_tiny_rest".
    5.  Set the environment variable "umlsUser" to your umls username.
    6.  Set the environment variable "umlsPass" to your umls password.
    5.  Execute "docker run --name my_ctakes_rest --rm -d -p 8080:8080 -e umlsUser -e umlsPass ctakes_tiny_rest".
         This will start a container named "my_ctakes_rest" that runs the server.
    6.  In a browser, visit "https://urldefense.proofpoint.com/v2/url?u=http-3A__IP.IP.IP.IP-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=TBQZ-y0nCfYSSP9s_iAV6NaW_MpMocKTt3FWqielDjk&e= ".
         This should open a ctakes demo front page.

    The demo page looks as expected but am getting an HTTP 500 error with each attempt, and "Error processing REST call" as the output. Browser dev console errors copied below. I'm sure I set umlsUser and umlsPass correctly and triple checked them at the UML Terminology Services login page.

    Nothing stands out to me from the trace, but I'll spend some time looking in to it to see what I can come up with.

    Tom

    javax.servlet.ServletException: Servlet.init() for servlet [ctakes-rest-service] threw exception
            org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
            org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
            org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
            org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
            org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
            org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
            org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
            org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
            org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
            java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            java.lang.Thread.run(Thread.java:748)
    Root Cause

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tinyController': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
            org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:137)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
            org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
            org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
            org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
            org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
            org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
            org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
            org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
            org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
            org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
            org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
            org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
            org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
            org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
            javax.servlet.GenericServlet.init(GenericServlet.java:158)
            org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
            org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
            org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
            org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
            org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
            org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
            org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
            org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
            org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
            java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            java.lang.Thread.run(Thread.java:748)
    Root Cause

    java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
            org.apache.ctakes.rest.service.TinyController.init(TinyController.java:52)
            sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            java.lang.reflect.Method.invoke(Method.java:498)
            org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:366)
            org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:311)
            org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:134)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
            org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
            org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
            org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
            org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
            org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
            org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
            org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
            org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
            org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
            org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
            org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
            org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
            org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
            javax.servlet.GenericServlet.init(GenericServlet.java:158)
            org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
            org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
            org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
            org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
            org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
            org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
            org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
            org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
            org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
            java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            java.lang.Thread.run(Thread.java:748)

    On 7/1/20, 4:06 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

        I had no idea that this was in the install guide:

        >$ exports MAVEN_OPTS='-Xms3072m -Xmx4g -Xss128M  -XX:+CMSClassUnloadingEnabled -XX:-UseGCOverheadLimit -Dmaven.test.failure.ignore=false'
        $  mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=2FoCH8QvUO_OvHjhD9TtgP30JI8ES9sohpufh8RDlgU&e=

        I never do that.  It is way too specific and I don't need to (or want to) do exactly what Jenkins does unless I'm trying to fix an error on a Jenkins build ...

        All that I use is:
        mvn -DskipTests=true clean package

        Everything else is a default setting.

        I have a thought:  You may need to explicitly add the maven snapshots repo
        https://urldefense.proofpoint.com/v2/url?u=https-3A__repository.apache.org_content_groups_snapshots&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=TgKg-4ASAgS0WTjSUsYmOegk9nrcEwJlYAAfAAU3wak&e=

        Please:
        In the pom.xml next to the Dockerfile, add the following  right above <build>..</build>

            <repositories>
              <repository>
                 <id>apache.snapshots</id>
                 <name>Apache Development Snapshot Repository</name>
                  <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repository.apache.org_content_groups_snapshots_&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=bANlBnAM2tGMXMOxaQFJ8vrqnDo5vNjKl54_HAlvMHo&e= </url>
                 <releases>
                    <enabled>false</enabled>
                 </releases>
                 <snapshots>
                    <enabled>true</enabled>
                 </snapshots>
              </repository>
           </repositories>


        That may help.  Let me know if it does then I will add it to the pom in trunk.

        Sean
        ________________________________________
        From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
        Sent: Wednesday, July 1, 2020 6:28 PM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

        * External Email - Caution *


        Thanks again Sean. Java8 allows the build to complete even with Ytex - well, I should say, Ctakes built successfully, but then the sonar portion of the build triggered by this line in the developer install guide failed:

        mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=ALGTH-Hi6voMC5fJL2YiOYyLfTucZwVZurOl-hazXwE&e=

        I removed what seemed to be the offensive parts of the script and ran again as this and it worked:

        mvn --fail-at-end --errors --update-snapshots clean install -DskipTests=false

        Unfortunately, still getting the same error on docker build:
        [INFO] ------------------------------------------------------------------------
        [INFO] BUILD FAILURE
        [INFO] ------------------------------------------------------------------------
        [INFO] Total time:  3.563 s
        [INFO] Finished at: 2020-07-01T22:15:42Z
        [INFO] ------------------------------------------------------------------------
        [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

        From the stack trace here's the point where it starts throwing warnings after successfully findings POMs for non-ctakes packages and then not finding them for ctakes:
        ...
        Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=
        Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=  (14 kB at 285 kB/s)
        Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=
        Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=  (43 kB at 401 kB/s)
        [WARNING] The POM for org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT is missing, no dependency information available
        [WARNING] The POM for org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT is missing, no dependency information available
        [WARNING] The POM for org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT is missing, no dependency information available
        ...

        I ran the same "mvn help:evaluate" on my computer and get the same result as you. I commented out the ctakes-related commands from Dockerfile so that I could at least build the container with tomcat, maven, and openjdk8, and ran mvn help:evaluate from the container as well and got the same output.

        In case the issue was that I was building ALL of ctakes and not just dockhand, I tried that too from a fresh svn checkout of ctakes, cd {ctakes-dockhand} > mvn package and run the jar, but same issue.

        Ah well - I just don't have enough understanding of maven and java devops to get to the bottom of this. I really appreciate you taking the time to respond Sean, and apologize for the java version issue - rookie mistake!

        Tom

        On 7/1/20, 2:02 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

            Hi Tom,

            My settings.xml is completely commented.  It looks like defaults are used when nothing specific is provided.

            I ran "mvn help:evaluate" and entered "${project.repositories}" when prompted.  My default repository is:
            <repositories>
              <repository>
                <id>central</id>
                <name>Central Repository</name>
                <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=LbWH-d8QbjhFJh3OOL0NpLt0T8QGO9LFTuGv1EyVGB4&e= </url>
                <layout>default</layout>
                <snapshots>
                  <enabled>false</enabled>
                </snapshots>
              </repository>
            </repositories>

            Yours should be the same.

            Sean
            ________________________________________
            From: Finan, Sean <Se...@childrens.harvard.edu>
            Sent: Wednesday, July 1, 2020 3:58 PM
            To: dev@ctakes.apache.org
            Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

            * External Email - Caution *


            Hi Tom,

            ctakes requires java 8.  So the first thing that needs to be done is putting java 8 on your system and starting the whole process from scratch.  You may end up commenting out the ytex stuff, but the rest of the experience should be different.

            I am also not a maven expert.  I will have to look at my settings.xml and get back to you (after a meeting).

            !! If anybody else out there has a quick answer, please speak up.

            Sean

            ________________________________________
            From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
            Sent: Wednesday, July 1, 2020 3:14 PM
            To: dev@ctakes.apache.org
            Subject: RE: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

            * External Email - Caution *


            Not behind any firewalls or weird port issues - home internet and personal computer, no VPN.

            javac -version: 14.0.1

            If I understand maven correctly (spoiler alert: I don't) - it will look for artifacts in repos that are listed in the settings.xml file. I'm noticing my settings.xml file doesn't have ANY repos listed. Would you mind sharing the relevant sections of yours if you think that might be part of the problem?

            On macos if installed with homebrew the maven settings are in:
             /usr/local/Cellar/maven/{maven version; mine is 3.6.3_1}/libexec/conf/settings.xml

            My settings.xml is pretty much all commented out (it came that way!), but I've added the following localRepository:

            <localRepository>${user.name}/.m2/repository</localRepository>

            It seems like I should have some other public repos listed here...



            -----Original Message-----
            From: Finan, Sean <Se...@childrens.harvard.edu>
            Sent: Wednesday, July 01, 2020 5:25 AM
            To: dev@ctakes.apache.org
            Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

            Hi Tom,

            first, let me offer my commiseration regarding the ytex failure.  I think that at some point I will write the community for objections and then make it a separate build from (primary) ctakes.  I think that your solution of removing ytex from the main project on your system is absolutely the correct thing to do since you don't want it anyway.

            After that, I have only guesses as to what might be going on.  I haven't personally had any of the build problems that you are facing.

            One thing that I didn't make clear:  You only need to build the ctakes-dockhand.jar, not all of ctakes.   But the errors you see are still troublesome (especially in docker).

            >  [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

            I don't understand the above error at all.  All of those artifacts do exist.  I use them on a (practically) daily basis. Is it possible that you don't have a port open or that your docker machine is behind a firewall of some sort?

            There is one question that I have for you about the error

            >ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol
            [ERROR]   symbol:   class PostConstruct
            [ERROR]   location: package javax.annotation

            What version of java are you using?  ctakes requires version 8.  javax.annotation -should- be standard in java 8.  You can try running "javac -version".

            Sean


            ________________________________________
            From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
            Sent: Tuesday, June 30, 2020 7:06 PM
            To: dev@ctakes.apache.org
            Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

            * External Email - Caution *


            Thank you for the direction, Sean. I ran in to build issues, some addressed on prior threads (YTEX related), some that I couldn’t find references to in the mailing list archives. I am still stuck not able to complete the docker build due to an unresolved dependency. Including the info below in case it is helpful to anyone, and in case anyone can help with what (hopefully!) is the final error.



            Working through Dev install guide<https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_CTAKES_cTAKES-2B4.0-2BDeveloper-2BInstall-2BGuide&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=V7soEGQAN0_YigZAyAX_xHg6I72rT0_sx5ggS9ojp2A&e= >:

              1.  I get a FAILURE on building cTAKES YTEX

            …

            [INFO] ctakes-examples-res ................................ SUCCESS [  0.363 s]

            [INFO] ctakes-examples .................................... SUCCESS [  1.311 s]

            [INFO] Apache cTAKES Resources ctakes-ytex-res ............ SUCCESS [  0.308 s]

            [INFO] Apache cTAKES YTEX ................................. FAILURE [  0.717 s]

            [INFO] Apache cTAKES YTEX UIMA ............................ SKIPPED

            [INFO] Apache cTAKES Tiny Rest Service .................... SKIPPED

            [INFO] Apache cTAKES Distribution ......................... SKIPPED

            [INFO] Apache cTAKES Regression-test ...................... SKIPPED

            [INFO] Apache cTAKES template filler ...................... SKIPPED

            [INFO] Apache cTAKES Dockhand ............................. SKIPPED



            …

            Caused by: java.lang.ClassNotFoundException: javax.activation.MimeTypeParseException

                            at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)

                            at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)

                            at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)

                            at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

                            ... 51 more

                 *   From this thread<https://urldefense.proofpoint.com/v2/url?u=http-3A__mail-2Darchives.apache.org_mod-5Fmbox_ctakes-2Ddev_201907.mbox_-253cCALfEtMvGzE9TppFCuLTNdgqzSU5ew5RVkVjUgq19WF3pwNTyRQ-40mail.gmail.com-253e&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=1UdlzWnTMDEq7f2ix9ZemrMBvsS4TAo2Kl0i7jOLq_g&e= > I tried:

                                                                           i.       mvn clean install -Dmaven.test.skip=true

                       *   I get the same FAILURE and stack trace
                 *   From your comment in that same thread (“Wouldn't it be better to remove [YTEX]  dependency from the cTAKES core pom.xml…”) I thought I’d try removing all references to YTEX from {ctakes_trunk}/pom.xml:

                                                                           i.      Comment out lines 201-204, 789-807, and 1023

                 *   Rerun mvn clean install -Dmaven.test.skip=true

                                                                           i.      Immediate ERROR due to YTEX dependencies in ctakes/trunk/ctakes-distribution/pom.xml

                 *   Remove references to YTEX from ctakes-distribution/pom.xml

                                                                           i.      Comment out lines 123-130

                 *   Rerun mvn clean install -Dmaven.test.skip=true
              1.  Now I get a FAILURE on cTAKES Tiny Rest Service:

            …

            [INFO] ctakes-examples-res ................................ SUCCESS [  0.231 s]

            [INFO] ctakes-examples .................................... SUCCESS [  0.680 s]

            [INFO] Apache cTAKES Tiny Rest Service .................... FAILURE [  0.275 s]

            [INFO] Apache cTAKES Distribution ......................... SKIPPED

            [INFO] Apache cTAKES Regression-test ...................... SKIPPED

            [INFO] Apache cTAKES template filler ...................... SKIPPED

            [INFO] Apache cTAKES Dockhand ............................. SKIPPED



                            [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.4:compile (default-compile) on project ctakes-tiny-rest: Compilation failure: Compilation failure:

            [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol

            [ERROR]   symbol:   class PostConstruct

            [ERROR]   location: package javax.annotation

            [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[43,4] error: cannot find symbol

              1.  I added the following dependency to ctakes/trunk/ctakes-tiny-rest/pom.xml:

            <dependency>

            <groupId>javax.annotation</groupId>

            <artifactId>javax.annotation-api</artifactId>

            <version>1.3.2</version>

            </dependency>

              1.  …and commented out the <scope>provided</scope> attribute of the <groupId>javax.servlet</groupId> dependency in the same file
                 *   I did this first, before adding the javax.annotation-api dependency mentioned above, and build still failed. I forgot to revert it before applying adding that dependency, so don’t know if it helped or not.



              1.  [INFO] ------------------------------------------------------------------------

            [INFO] BUILD SUCCESS

            [INFO] ------------------------------------------------------------------------

              1.  I then went through the steps you outlined:
                 *   Run the ctakes-dockhand jar
                 *   Choose: Rest Server Docker Bundle
                 *   Add description
                 *   Select pipeline features: [Multiple Sections, Prose Sentences, Tokens, Entities, Attributes, Locations, Severities]
                 *   Select pipeline outputs: [FHIR, Text, Properties, XMI, CUI List]
                 *   Finish -> Add Save To location
                 *   cd {save-to location}/repos
                 *   docker build -t dockhandtest .

            [INFO] ------------------------------------------------------------------------

            [INFO] BUILD FAILURE

            [INFO] ------------------------------------------------------------------------

            [INFO] Total time:  3.076 s

            [INFO] Finished at: 2020-06-30T22:54:45Z

            [INFO] ------------------------------------------------------------------------

            [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

              1.  From {save-to location}/repos
                 *   Edit pom.xml – change ctakes.version from 4.0.1-SNAPSHOT to 4.0.1 (same error) then to 4.0.0:

            <properties>

            <ctakes.version>4.0.0</ctakes.version>

            </properties>

                 *   Rerun docker build -t dockhandtest .: error message improved – only one missing dependency now:

            [INFO] ------------------------------------------------------------------------

            [INFO] BUILD FAILURE

            [INFO] ------------------------------------------------------------------------

            [INFO] Total time:  43.040 s

            [INFO] Finished at: 2020-06-30T23:00:38Z

            [INFO] ------------------------------------------------------------------------

            [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.0 in central (https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=pcCpMxdVbxWvYPBx912AgjRUbL5FuLW8RCXHafDNpuM&e= ) -> [Help 1]



              1.  And this is where I am stuck. I understand that ctakes-tiny-rest:jar must not exist in 4.0.0 or 4.0.1 repositories, but am not sure how to get beyond this point.





            On 6/26/20, 2:33 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:



                Hi Tom,



                Tiny Rest is not really a standalone deal, but utilization is pretty simple once you know what it is for.



                What you can try is:



                Create the jar for ctakes-dockhand using "mvn package".  You can put that jar file anywhere, even a system that doesn't have ctakes.



                Run that jar in a graphical environment (ms windows, gnome, etc.).  Double-click should start it.



                ctakes-dockhand is an installation tool that looks pretty much like any "wizard" style installer.  Make selections on each screen, click next, etc.



                Your selection on the first panel should be "docker rest" - or "rest docker" or something like that.  I can't remember.



                Then give it some description, create the pipeline that you want, etc.



                After you finish the last panel and click "Finish" a small number of files will be created in your chosen directory.   *Note, the tool will not exit by iteself.



                If you are familiar with docker, you can use the Dockerfile that is in that directory to create an image of a ctakes rest service.



                The docker image contains everything you need and when you run it will start a rest service.



                I haven't tried it, but you should also be able to just maven package using the pom in that same output directory without docker.  It will create a war file.

                If you go without docker then you will need to have a web server (tomcat, etc.) and move the war file into the webapps directory or whatever is required for that server.



                There is a little demo page that you can launch on a browser.  Just http to the ip address (of a VM, docker VM, localhost) with the port 8080 and ctakes_tiny_rest.

                For instance:

                https://urldefense.proofpoint.com/v2/url?u=http-3A__192.168.99.101-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=genox1Kxui9FMmo5ZeAVCeHiwiELuEeSO-y0RqpUYaM&e=



                You can curl or use some other rest client, but you should probably use the demo page just to see what it can do.



                To get different output formats you can send with "fhir", "umls", "cui", or "xmi".   "pretty" and "property" are works in progress.  The default is fhir json.



                Sean





                ________________________________________

                From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>

                Sent: Friday, June 26, 2020 5:04 PM

                To: dev@ctakes.apache.org

                Subject: ctakes-tiny-rest - any guidance on running? [EXTERNAL]



                * External Email - Caution *





                I was very excited to find the ctakes-tiny-rest package in the svn repo, but have not been able to get it stood up.



                What I have tried:



                  1.  Cloning the svn repo

                  2.  mvn package

                  3.  java -cp target/ctakes-tiny-rest-4.0.1-SNAPSHOT.jar org.apache.ctakes.rest.service.TinyController

                     *   Error: Unable to initialize main class org.apache.ctakes.rest.service.TinyController



                Caused by: java.lang.NoClassDefFoundError: org/apache/uima/resource/ResourceInitializationException



                I am not very familiar with mvn or with the Spring framework so I suspect I am missing something fundamental.



                Is anyone making use of this component and can point me in the right direction?



                Thanks for your time and consideration!



                Tom



                Thomas Loehfelm, MD

                UC Davis Medical Center

                Abdominal Radiology




Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

Posted by Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>.
I was using the prose sentence detector (SentenceDetectorAnnotatorBIO) - I will check the fix you submitted.

In the mean time, I WAS able to get a functioning REST server up and running by starting a new spring project from scratch and poaching bits and pieces from ctakes-dockhand and ctakes-tiny-rest as needed. In doing that I came across the issue with SentenceDetectorAnnotatorBIO and address it by adding a classifierJarPath variable in the piper file:

add SentenceDetectorAnnotatorBIO classifierJarPath=/org/apache/ctakes/core/sentdetect/model.jar

Is that the same fix you submitted?

On 7/6/20, 10:49 AM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

    Hi Tom,

    Were you using the "Prose Sentences" option?  If so, I think that I may have found the problem (my fault, not the engine's).  I checked in a fix but it may take some time before it shows up on maven central.

    I will test some more tonight and see what comes up.

    Sean
    ________________________________________
    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
    Sent: Wednesday, July 1, 2020 7:34 PM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

    * External Email - Caution *


    I hope you'll let me buy you a beer or two next time I'm in Boston - adding the maven snapshot repo did the trick.

    Followed the README.txt instructions:
    4.  Execute "docker build -t ctakes_tiny_rest .".
         This will build an image with the tag "ctakes_tiny_rest".
    5.  Set the environment variable "umlsUser" to your umls username.
    6.  Set the environment variable "umlsPass" to your umls password.
    5.  Execute "docker run --name my_ctakes_rest --rm -d -p 8080:8080 -e umlsUser -e umlsPass ctakes_tiny_rest".
         This will start a container named "my_ctakes_rest" that runs the server.
    6.  In a browser, visit "https://urldefense.proofpoint.com/v2/url?u=http-3A__IP.IP.IP.IP-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=TBQZ-y0nCfYSSP9s_iAV6NaW_MpMocKTt3FWqielDjk&e= ".
         This should open a ctakes demo front page.

    The demo page looks as expected but am getting an HTTP 500 error with each attempt, and "Error processing REST call" as the output. Browser dev console errors copied below. I'm sure I set umlsUser and umlsPass correctly and triple checked them at the UML Terminology Services login page.

    Nothing stands out to me from the trace, but I'll spend some time looking in to it to see what I can come up with.

    Tom

    javax.servlet.ServletException: Servlet.init() for servlet [ctakes-rest-service] threw exception
            org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
            org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
            org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
            org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
            org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
            org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
            org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
            org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
            org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
            java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            java.lang.Thread.run(Thread.java:748)
    Root Cause

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tinyController': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
            org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:137)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
            org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
            org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
            org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
            org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
            org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
            org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
            org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
            org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
            org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
            org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
            org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
            org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
            org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
            javax.servlet.GenericServlet.init(GenericServlet.java:158)
            org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
            org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
            org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
            org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
            org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
            org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
            org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
            org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
            org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
            java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            java.lang.Thread.run(Thread.java:748)
    Root Cause

    java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
            org.apache.ctakes.rest.service.TinyController.init(TinyController.java:52)
            sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            java.lang.reflect.Method.invoke(Method.java:498)
            org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:366)
            org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:311)
            org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:134)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
            org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
            org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
            org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
            org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
            org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
            org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
            org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
            org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
            org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
            org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
            org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
            org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
            org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
            org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
            javax.servlet.GenericServlet.init(GenericServlet.java:158)
            org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
            org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
            org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
            org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
            org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
            org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
            org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
            org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
            org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
            java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
            java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
            org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            java.lang.Thread.run(Thread.java:748)

    On 7/1/20, 4:06 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

        I had no idea that this was in the install guide:

        >$ exports MAVEN_OPTS='-Xms3072m -Xmx4g -Xss128M  -XX:+CMSClassUnloadingEnabled -XX:-UseGCOverheadLimit -Dmaven.test.failure.ignore=false'
        $  mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=2FoCH8QvUO_OvHjhD9TtgP30JI8ES9sohpufh8RDlgU&e=

        I never do that.  It is way too specific and I don't need to (or want to) do exactly what Jenkins does unless I'm trying to fix an error on a Jenkins build ...

        All that I use is:
        mvn -DskipTests=true clean package

        Everything else is a default setting.

        I have a thought:  You may need to explicitly add the maven snapshots repo
        https://urldefense.proofpoint.com/v2/url?u=https-3A__repository.apache.org_content_groups_snapshots&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=TgKg-4ASAgS0WTjSUsYmOegk9nrcEwJlYAAfAAU3wak&e=

        Please:
        In the pom.xml next to the Dockerfile, add the following  right above <build>..</build>

            <repositories>
              <repository>
                 <id>apache.snapshots</id>
                 <name>Apache Development Snapshot Repository</name>
                  <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repository.apache.org_content_groups_snapshots_&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=bANlBnAM2tGMXMOxaQFJ8vrqnDo5vNjKl54_HAlvMHo&e= </url>
                 <releases>
                    <enabled>false</enabled>
                 </releases>
                 <snapshots>
                    <enabled>true</enabled>
                 </snapshots>
              </repository>
           </repositories>


        That may help.  Let me know if it does then I will add it to the pom in trunk.

        Sean
        ________________________________________
        From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
        Sent: Wednesday, July 1, 2020 6:28 PM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

        * External Email - Caution *


        Thanks again Sean. Java8 allows the build to complete even with Ytex - well, I should say, Ctakes built successfully, but then the sonar portion of the build triggered by this line in the developer install guide failed:

        mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=ALGTH-Hi6voMC5fJL2YiOYyLfTucZwVZurOl-hazXwE&e=

        I removed what seemed to be the offensive parts of the script and ran again as this and it worked:

        mvn --fail-at-end --errors --update-snapshots clean install -DskipTests=false

        Unfortunately, still getting the same error on docker build:
        [INFO] ------------------------------------------------------------------------
        [INFO] BUILD FAILURE
        [INFO] ------------------------------------------------------------------------
        [INFO] Total time:  3.563 s
        [INFO] Finished at: 2020-07-01T22:15:42Z
        [INFO] ------------------------------------------------------------------------
        [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

        From the stack trace here's the point where it starts throwing warnings after successfully findings POMs for non-ctakes packages and then not finding them for ctakes:
        ...
        Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=
        Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=  (14 kB at 285 kB/s)
        Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=
        Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=  (43 kB at 401 kB/s)
        [WARNING] The POM for org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT is missing, no dependency information available
        [WARNING] The POM for org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT is missing, no dependency information available
        [WARNING] The POM for org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT is missing, no dependency information available
        ...

        I ran the same "mvn help:evaluate" on my computer and get the same result as you. I commented out the ctakes-related commands from Dockerfile so that I could at least build the container with tomcat, maven, and openjdk8, and ran mvn help:evaluate from the container as well and got the same output.

        In case the issue was that I was building ALL of ctakes and not just dockhand, I tried that too from a fresh svn checkout of ctakes, cd {ctakes-dockhand} > mvn package and run the jar, but same issue.

        Ah well - I just don't have enough understanding of maven and java devops to get to the bottom of this. I really appreciate you taking the time to respond Sean, and apologize for the java version issue - rookie mistake!

        Tom

        On 7/1/20, 2:02 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

            Hi Tom,

            My settings.xml is completely commented.  It looks like defaults are used when nothing specific is provided.

            I ran "mvn help:evaluate" and entered "${project.repositories}" when prompted.  My default repository is:
            <repositories>
              <repository>
                <id>central</id>
                <name>Central Repository</name>
                <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=LbWH-d8QbjhFJh3OOL0NpLt0T8QGO9LFTuGv1EyVGB4&e= </url>
                <layout>default</layout>
                <snapshots>
                  <enabled>false</enabled>
                </snapshots>
              </repository>
            </repositories>

            Yours should be the same.

            Sean
            ________________________________________
            From: Finan, Sean <Se...@childrens.harvard.edu>
            Sent: Wednesday, July 1, 2020 3:58 PM
            To: dev@ctakes.apache.org
            Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

            * External Email - Caution *


            Hi Tom,

            ctakes requires java 8.  So the first thing that needs to be done is putting java 8 on your system and starting the whole process from scratch.  You may end up commenting out the ytex stuff, but the rest of the experience should be different.

            I am also not a maven expert.  I will have to look at my settings.xml and get back to you (after a meeting).

            !! If anybody else out there has a quick answer, please speak up.

            Sean

            ________________________________________
            From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
            Sent: Wednesday, July 1, 2020 3:14 PM
            To: dev@ctakes.apache.org
            Subject: RE: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

            * External Email - Caution *


            Not behind any firewalls or weird port issues - home internet and personal computer, no VPN.

            javac -version: 14.0.1

            If I understand maven correctly (spoiler alert: I don't) - it will look for artifacts in repos that are listed in the settings.xml file. I'm noticing my settings.xml file doesn't have ANY repos listed. Would you mind sharing the relevant sections of yours if you think that might be part of the problem?

            On macos if installed with homebrew the maven settings are in:
             /usr/local/Cellar/maven/{maven version; mine is 3.6.3_1}/libexec/conf/settings.xml

            My settings.xml is pretty much all commented out (it came that way!), but I've added the following localRepository:

            <localRepository>${user.name}/.m2/repository</localRepository>

            It seems like I should have some other public repos listed here...



            -----Original Message-----
            From: Finan, Sean <Se...@childrens.harvard.edu>
            Sent: Wednesday, July 01, 2020 5:25 AM
            To: dev@ctakes.apache.org
            Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

            Hi Tom,

            first, let me offer my commiseration regarding the ytex failure.  I think that at some point I will write the community for objections and then make it a separate build from (primary) ctakes.  I think that your solution of removing ytex from the main project on your system is absolutely the correct thing to do since you don't want it anyway.

            After that, I have only guesses as to what might be going on.  I haven't personally had any of the build problems that you are facing.

            One thing that I didn't make clear:  You only need to build the ctakes-dockhand.jar, not all of ctakes.   But the errors you see are still troublesome (especially in docker).

            >  [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

            I don't understand the above error at all.  All of those artifacts do exist.  I use them on a (practically) daily basis. Is it possible that you don't have a port open or that your docker machine is behind a firewall of some sort?

            There is one question that I have for you about the error

            >ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol
            [ERROR]   symbol:   class PostConstruct
            [ERROR]   location: package javax.annotation

            What version of java are you using?  ctakes requires version 8.  javax.annotation -should- be standard in java 8.  You can try running "javac -version".

            Sean


            ________________________________________
            From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
            Sent: Tuesday, June 30, 2020 7:06 PM
            To: dev@ctakes.apache.org
            Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

            * External Email - Caution *


            Thank you for the direction, Sean. I ran in to build issues, some addressed on prior threads (YTEX related), some that I couldn’t find references to in the mailing list archives. I am still stuck not able to complete the docker build due to an unresolved dependency. Including the info below in case it is helpful to anyone, and in case anyone can help with what (hopefully!) is the final error.



            Working through Dev install guide<https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_CTAKES_cTAKES-2B4.0-2BDeveloper-2BInstall-2BGuide&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=V7soEGQAN0_YigZAyAX_xHg6I72rT0_sx5ggS9ojp2A&e= >:

              1.  I get a FAILURE on building cTAKES YTEX

            …

            [INFO] ctakes-examples-res ................................ SUCCESS [  0.363 s]

            [INFO] ctakes-examples .................................... SUCCESS [  1.311 s]

            [INFO] Apache cTAKES Resources ctakes-ytex-res ............ SUCCESS [  0.308 s]

            [INFO] Apache cTAKES YTEX ................................. FAILURE [  0.717 s]

            [INFO] Apache cTAKES YTEX UIMA ............................ SKIPPED

            [INFO] Apache cTAKES Tiny Rest Service .................... SKIPPED

            [INFO] Apache cTAKES Distribution ......................... SKIPPED

            [INFO] Apache cTAKES Regression-test ...................... SKIPPED

            [INFO] Apache cTAKES template filler ...................... SKIPPED

            [INFO] Apache cTAKES Dockhand ............................. SKIPPED



            …

            Caused by: java.lang.ClassNotFoundException: javax.activation.MimeTypeParseException

                            at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)

                            at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)

                            at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)

                            at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

                            ... 51 more

                 *   From this thread<https://urldefense.proofpoint.com/v2/url?u=http-3A__mail-2Darchives.apache.org_mod-5Fmbox_ctakes-2Ddev_201907.mbox_-253cCALfEtMvGzE9TppFCuLTNdgqzSU5ew5RVkVjUgq19WF3pwNTyRQ-40mail.gmail.com-253e&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=1UdlzWnTMDEq7f2ix9ZemrMBvsS4TAo2Kl0i7jOLq_g&e= > I tried:

                                                                           i.       mvn clean install -Dmaven.test.skip=true

                       *   I get the same FAILURE and stack trace
                 *   From your comment in that same thread (“Wouldn't it be better to remove [YTEX]  dependency from the cTAKES core pom.xml…”) I thought I’d try removing all references to YTEX from {ctakes_trunk}/pom.xml:

                                                                           i.      Comment out lines 201-204, 789-807, and 1023

                 *   Rerun mvn clean install -Dmaven.test.skip=true

                                                                           i.      Immediate ERROR due to YTEX dependencies in ctakes/trunk/ctakes-distribution/pom.xml

                 *   Remove references to YTEX from ctakes-distribution/pom.xml

                                                                           i.      Comment out lines 123-130

                 *   Rerun mvn clean install -Dmaven.test.skip=true
              1.  Now I get a FAILURE on cTAKES Tiny Rest Service:

            …

            [INFO] ctakes-examples-res ................................ SUCCESS [  0.231 s]

            [INFO] ctakes-examples .................................... SUCCESS [  0.680 s]

            [INFO] Apache cTAKES Tiny Rest Service .................... FAILURE [  0.275 s]

            [INFO] Apache cTAKES Distribution ......................... SKIPPED

            [INFO] Apache cTAKES Regression-test ...................... SKIPPED

            [INFO] Apache cTAKES template filler ...................... SKIPPED

            [INFO] Apache cTAKES Dockhand ............................. SKIPPED



                            [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.4:compile (default-compile) on project ctakes-tiny-rest: Compilation failure: Compilation failure:

            [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol

            [ERROR]   symbol:   class PostConstruct

            [ERROR]   location: package javax.annotation

            [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[43,4] error: cannot find symbol

              1.  I added the following dependency to ctakes/trunk/ctakes-tiny-rest/pom.xml:

            <dependency>

            <groupId>javax.annotation</groupId>

            <artifactId>javax.annotation-api</artifactId>

            <version>1.3.2</version>

            </dependency>

              1.  …and commented out the <scope>provided</scope> attribute of the <groupId>javax.servlet</groupId> dependency in the same file
                 *   I did this first, before adding the javax.annotation-api dependency mentioned above, and build still failed. I forgot to revert it before applying adding that dependency, so don’t know if it helped or not.



              1.  [INFO] ------------------------------------------------------------------------

            [INFO] BUILD SUCCESS

            [INFO] ------------------------------------------------------------------------

              1.  I then went through the steps you outlined:
                 *   Run the ctakes-dockhand jar
                 *   Choose: Rest Server Docker Bundle
                 *   Add description
                 *   Select pipeline features: [Multiple Sections, Prose Sentences, Tokens, Entities, Attributes, Locations, Severities]
                 *   Select pipeline outputs: [FHIR, Text, Properties, XMI, CUI List]
                 *   Finish -> Add Save To location
                 *   cd {save-to location}/repos
                 *   docker build -t dockhandtest .

            [INFO] ------------------------------------------------------------------------

            [INFO] BUILD FAILURE

            [INFO] ------------------------------------------------------------------------

            [INFO] Total time:  3.076 s

            [INFO] Finished at: 2020-06-30T22:54:45Z

            [INFO] ------------------------------------------------------------------------

            [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

              1.  From {save-to location}/repos
                 *   Edit pom.xml – change ctakes.version from 4.0.1-SNAPSHOT to 4.0.1 (same error) then to 4.0.0:

            <properties>

            <ctakes.version>4.0.0</ctakes.version>

            </properties>

                 *   Rerun docker build -t dockhandtest .: error message improved – only one missing dependency now:

            [INFO] ------------------------------------------------------------------------

            [INFO] BUILD FAILURE

            [INFO] ------------------------------------------------------------------------

            [INFO] Total time:  43.040 s

            [INFO] Finished at: 2020-06-30T23:00:38Z

            [INFO] ------------------------------------------------------------------------

            [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.0 in central (https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=pcCpMxdVbxWvYPBx912AgjRUbL5FuLW8RCXHafDNpuM&e= ) -> [Help 1]



              1.  And this is where I am stuck. I understand that ctakes-tiny-rest:jar must not exist in 4.0.0 or 4.0.1 repositories, but am not sure how to get beyond this point.





            On 6/26/20, 2:33 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:



                Hi Tom,



                Tiny Rest is not really a standalone deal, but utilization is pretty simple once you know what it is for.



                What you can try is:



                Create the jar for ctakes-dockhand using "mvn package".  You can put that jar file anywhere, even a system that doesn't have ctakes.



                Run that jar in a graphical environment (ms windows, gnome, etc.).  Double-click should start it.



                ctakes-dockhand is an installation tool that looks pretty much like any "wizard" style installer.  Make selections on each screen, click next, etc.



                Your selection on the first panel should be "docker rest" - or "rest docker" or something like that.  I can't remember.



                Then give it some description, create the pipeline that you want, etc.



                After you finish the last panel and click "Finish" a small number of files will be created in your chosen directory.   *Note, the tool will not exit by iteself.



                If you are familiar with docker, you can use the Dockerfile that is in that directory to create an image of a ctakes rest service.



                The docker image contains everything you need and when you run it will start a rest service.



                I haven't tried it, but you should also be able to just maven package using the pom in that same output directory without docker.  It will create a war file.

                If you go without docker then you will need to have a web server (tomcat, etc.) and move the war file into the webapps directory or whatever is required for that server.



                There is a little demo page that you can launch on a browser.  Just http to the ip address (of a VM, docker VM, localhost) with the port 8080 and ctakes_tiny_rest.

                For instance:

                https://urldefense.proofpoint.com/v2/url?u=http-3A__192.168.99.101-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=genox1Kxui9FMmo5ZeAVCeHiwiELuEeSO-y0RqpUYaM&e=



                You can curl or use some other rest client, but you should probably use the demo page just to see what it can do.



                To get different output formats you can send with "fhir", "umls", "cui", or "xmi".   "pretty" and "property" are works in progress.  The default is fhir json.



                Sean





                ________________________________________

                From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>

                Sent: Friday, June 26, 2020 5:04 PM

                To: dev@ctakes.apache.org

                Subject: ctakes-tiny-rest - any guidance on running? [EXTERNAL]



                * External Email - Caution *





                I was very excited to find the ctakes-tiny-rest package in the svn repo, but have not been able to get it stood up.



                What I have tried:



                  1.  Cloning the svn repo

                  2.  mvn package

                  3.  java -cp target/ctakes-tiny-rest-4.0.1-SNAPSHOT.jar org.apache.ctakes.rest.service.TinyController

                     *   Error: Unable to initialize main class org.apache.ctakes.rest.service.TinyController



                Caused by: java.lang.NoClassDefFoundError: org/apache/uima/resource/ResourceInitializationException



                I am not very familiar with mvn or with the Spring framework so I suspect I am missing something fundamental.



                Is anyone making use of this component and can point me in the right direction?



                Thanks for your time and consideration!



                Tom



                Thomas Loehfelm, MD

                UC Davis Medical Center

                Abdominal Radiology




Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

Posted by "Finan, Sean" <Se...@childrens.harvard.edu>.
Hi Tom,

Were you using the "Prose Sentences" option?  If so, I think that I may have found the problem (my fault, not the engine's).  I checked in a fix but it may take some time before it shows up on maven central.

I will test some more tonight and see what comes up.

Sean
________________________________________
From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
Sent: Wednesday, July 1, 2020 7:34 PM
To: dev@ctakes.apache.org
Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

* External Email - Caution *


I hope you'll let me buy you a beer or two next time I'm in Boston - adding the maven snapshot repo did the trick.

Followed the README.txt instructions:
4.  Execute "docker build -t ctakes_tiny_rest .".
     This will build an image with the tag "ctakes_tiny_rest".
5.  Set the environment variable "umlsUser" to your umls username.
6.  Set the environment variable "umlsPass" to your umls password.
5.  Execute "docker run --name my_ctakes_rest --rm -d -p 8080:8080 -e umlsUser -e umlsPass ctakes_tiny_rest".
     This will start a container named "my_ctakes_rest" that runs the server.
6.  In a browser, visit "https://urldefense.proofpoint.com/v2/url?u=http-3A__IP.IP.IP.IP-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=TBQZ-y0nCfYSSP9s_iAV6NaW_MpMocKTt3FWqielDjk&e= ".
     This should open a ctakes demo front page.

The demo page looks as expected but am getting an HTTP 500 error with each attempt, and "Error processing REST call" as the output. Browser dev console errors copied below. I'm sure I set umlsUser and umlsPass correctly and triple checked them at the UML Terminology Services login page.

Nothing stands out to me from the trace, but I'll spend some time looking in to it to see what I can come up with.

Tom

javax.servlet.ServletException: Servlet.init() for servlet [ctakes-rest-service] threw exception
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.lang.Thread.run(Thread.java:748)
Root Cause

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tinyController': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
        org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:137)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
        org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
        org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
        org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
        org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
        org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
        org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
        org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
        org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
        org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
        javax.servlet.GenericServlet.init(GenericServlet.java:158)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.lang.Thread.run(Thread.java:748)
Root Cause

java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
        org.apache.ctakes.rest.service.TinyController.init(TinyController.java:52)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:498)
        org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:366)
        org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:311)
        org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:134)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
        org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
        org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
        org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
        org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
        org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
        org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
        org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
        org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
        org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
        javax.servlet.GenericServlet.init(GenericServlet.java:158)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.lang.Thread.run(Thread.java:748)

On 7/1/20, 4:06 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

    I had no idea that this was in the install guide:

    >$ exports MAVEN_OPTS='-Xms3072m -Xmx4g -Xss128M  -XX:+CMSClassUnloadingEnabled -XX:-UseGCOverheadLimit -Dmaven.test.failure.ignore=false'
    $  mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=2FoCH8QvUO_OvHjhD9TtgP30JI8ES9sohpufh8RDlgU&e=

    I never do that.  It is way too specific and I don't need to (or want to) do exactly what Jenkins does unless I'm trying to fix an error on a Jenkins build ...

    All that I use is:
    mvn -DskipTests=true clean package

    Everything else is a default setting.

    I have a thought:  You may need to explicitly add the maven snapshots repo
    https://urldefense.proofpoint.com/v2/url?u=https-3A__repository.apache.org_content_groups_snapshots&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=TgKg-4ASAgS0WTjSUsYmOegk9nrcEwJlYAAfAAU3wak&e=

    Please:
    In the pom.xml next to the Dockerfile, add the following  right above <build>..</build>

        <repositories>
          <repository>
             <id>apache.snapshots</id>
             <name>Apache Development Snapshot Repository</name>
              <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repository.apache.org_content_groups_snapshots_&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=bANlBnAM2tGMXMOxaQFJ8vrqnDo5vNjKl54_HAlvMHo&e= </url>
             <releases>
                <enabled>false</enabled>
             </releases>
             <snapshots>
                <enabled>true</enabled>
             </snapshots>
          </repository>
       </repositories>


    That may help.  Let me know if it does then I will add it to the pom in trunk.

    Sean
    ________________________________________
    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
    Sent: Wednesday, July 1, 2020 6:28 PM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

    * External Email - Caution *


    Thanks again Sean. Java8 allows the build to complete even with Ytex - well, I should say, Ctakes built successfully, but then the sonar portion of the build triggered by this line in the developer install guide failed:

    mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=ALGTH-Hi6voMC5fJL2YiOYyLfTucZwVZurOl-hazXwE&e=

    I removed what seemed to be the offensive parts of the script and ran again as this and it worked:

    mvn --fail-at-end --errors --update-snapshots clean install -DskipTests=false

    Unfortunately, still getting the same error on docker build:
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  3.563 s
    [INFO] Finished at: 2020-07-01T22:15:42Z
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

    From the stack trace here's the point where it starts throwing warnings after successfully findings POMs for non-ctakes packages and then not finding them for ctakes:
    ...
    Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=
    Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=  (14 kB at 285 kB/s)
    Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=
    Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=  (43 kB at 401 kB/s)
    [WARNING] The POM for org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT is missing, no dependency information available
    [WARNING] The POM for org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT is missing, no dependency information available
    [WARNING] The POM for org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT is missing, no dependency information available
    ...

    I ran the same "mvn help:evaluate" on my computer and get the same result as you. I commented out the ctakes-related commands from Dockerfile so that I could at least build the container with tomcat, maven, and openjdk8, and ran mvn help:evaluate from the container as well and got the same output.

    In case the issue was that I was building ALL of ctakes and not just dockhand, I tried that too from a fresh svn checkout of ctakes, cd {ctakes-dockhand} > mvn package and run the jar, but same issue.

    Ah well - I just don't have enough understanding of maven and java devops to get to the bottom of this. I really appreciate you taking the time to respond Sean, and apologize for the java version issue - rookie mistake!

    Tom

    On 7/1/20, 2:02 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

        Hi Tom,

        My settings.xml is completely commented.  It looks like defaults are used when nothing specific is provided.

        I ran "mvn help:evaluate" and entered "${project.repositories}" when prompted.  My default repository is:
        <repositories>
          <repository>
            <id>central</id>
            <name>Central Repository</name>
            <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=LbWH-d8QbjhFJh3OOL0NpLt0T8QGO9LFTuGv1EyVGB4&e= </url>
            <layout>default</layout>
            <snapshots>
              <enabled>false</enabled>
            </snapshots>
          </repository>
        </repositories>

        Yours should be the same.

        Sean
        ________________________________________
        From: Finan, Sean <Se...@childrens.harvard.edu>
        Sent: Wednesday, July 1, 2020 3:58 PM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

        * External Email - Caution *


        Hi Tom,

        ctakes requires java 8.  So the first thing that needs to be done is putting java 8 on your system and starting the whole process from scratch.  You may end up commenting out the ytex stuff, but the rest of the experience should be different.

        I am also not a maven expert.  I will have to look at my settings.xml and get back to you (after a meeting).

        !! If anybody else out there has a quick answer, please speak up.

        Sean

        ________________________________________
        From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
        Sent: Wednesday, July 1, 2020 3:14 PM
        To: dev@ctakes.apache.org
        Subject: RE: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

        * External Email - Caution *


        Not behind any firewalls or weird port issues - home internet and personal computer, no VPN.

        javac -version: 14.0.1

        If I understand maven correctly (spoiler alert: I don't) - it will look for artifacts in repos that are listed in the settings.xml file. I'm noticing my settings.xml file doesn't have ANY repos listed. Would you mind sharing the relevant sections of yours if you think that might be part of the problem?

        On macos if installed with homebrew the maven settings are in:
         /usr/local/Cellar/maven/{maven version; mine is 3.6.3_1}/libexec/conf/settings.xml

        My settings.xml is pretty much all commented out (it came that way!), but I've added the following localRepository:

        <localRepository>${user.name}/.m2/repository</localRepository>

        It seems like I should have some other public repos listed here...



        -----Original Message-----
        From: Finan, Sean <Se...@childrens.harvard.edu>
        Sent: Wednesday, July 01, 2020 5:25 AM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

        Hi Tom,

        first, let me offer my commiseration regarding the ytex failure.  I think that at some point I will write the community for objections and then make it a separate build from (primary) ctakes.  I think that your solution of removing ytex from the main project on your system is absolutely the correct thing to do since you don't want it anyway.

        After that, I have only guesses as to what might be going on.  I haven't personally had any of the build problems that you are facing.

        One thing that I didn't make clear:  You only need to build the ctakes-dockhand.jar, not all of ctakes.   But the errors you see are still troublesome (especially in docker).

        >  [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

        I don't understand the above error at all.  All of those artifacts do exist.  I use them on a (practically) daily basis. Is it possible that you don't have a port open or that your docker machine is behind a firewall of some sort?

        There is one question that I have for you about the error

        >ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol
        [ERROR]   symbol:   class PostConstruct
        [ERROR]   location: package javax.annotation

        What version of java are you using?  ctakes requires version 8.  javax.annotation -should- be standard in java 8.  You can try running "javac -version".

        Sean


        ________________________________________
        From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
        Sent: Tuesday, June 30, 2020 7:06 PM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

        * External Email - Caution *


        Thank you for the direction, Sean. I ran in to build issues, some addressed on prior threads (YTEX related), some that I couldn’t find references to in the mailing list archives. I am still stuck not able to complete the docker build due to an unresolved dependency. Including the info below in case it is helpful to anyone, and in case anyone can help with what (hopefully!) is the final error.



        Working through Dev install guide<https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_CTAKES_cTAKES-2B4.0-2BDeveloper-2BInstall-2BGuide&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=V7soEGQAN0_YigZAyAX_xHg6I72rT0_sx5ggS9ojp2A&e= >:

          1.  I get a FAILURE on building cTAKES YTEX

        …

        [INFO] ctakes-examples-res ................................ SUCCESS [  0.363 s]

        [INFO] ctakes-examples .................................... SUCCESS [  1.311 s]

        [INFO] Apache cTAKES Resources ctakes-ytex-res ............ SUCCESS [  0.308 s]

        [INFO] Apache cTAKES YTEX ................................. FAILURE [  0.717 s]

        [INFO] Apache cTAKES YTEX UIMA ............................ SKIPPED

        [INFO] Apache cTAKES Tiny Rest Service .................... SKIPPED

        [INFO] Apache cTAKES Distribution ......................... SKIPPED

        [INFO] Apache cTAKES Regression-test ...................... SKIPPED

        [INFO] Apache cTAKES template filler ...................... SKIPPED

        [INFO] Apache cTAKES Dockhand ............................. SKIPPED



        …

        Caused by: java.lang.ClassNotFoundException: javax.activation.MimeTypeParseException

                        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)

                        at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)

                        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)

                        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

                        ... 51 more

             *   From this thread<https://urldefense.proofpoint.com/v2/url?u=http-3A__mail-2Darchives.apache.org_mod-5Fmbox_ctakes-2Ddev_201907.mbox_-253cCALfEtMvGzE9TppFCuLTNdgqzSU5ew5RVkVjUgq19WF3pwNTyRQ-40mail.gmail.com-253e&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=1UdlzWnTMDEq7f2ix9ZemrMBvsS4TAo2Kl0i7jOLq_g&e= > I tried:

                                                                       i.       mvn clean install -Dmaven.test.skip=true

                   *   I get the same FAILURE and stack trace
             *   From your comment in that same thread (“Wouldn't it be better to remove [YTEX]  dependency from the cTAKES core pom.xml…”) I thought I’d try removing all references to YTEX from {ctakes_trunk}/pom.xml:

                                                                       i.      Comment out lines 201-204, 789-807, and 1023

             *   Rerun mvn clean install -Dmaven.test.skip=true

                                                                       i.      Immediate ERROR due to YTEX dependencies in ctakes/trunk/ctakes-distribution/pom.xml

             *   Remove references to YTEX from ctakes-distribution/pom.xml

                                                                       i.      Comment out lines 123-130

             *   Rerun mvn clean install -Dmaven.test.skip=true
          1.  Now I get a FAILURE on cTAKES Tiny Rest Service:

        …

        [INFO] ctakes-examples-res ................................ SUCCESS [  0.231 s]

        [INFO] ctakes-examples .................................... SUCCESS [  0.680 s]

        [INFO] Apache cTAKES Tiny Rest Service .................... FAILURE [  0.275 s]

        [INFO] Apache cTAKES Distribution ......................... SKIPPED

        [INFO] Apache cTAKES Regression-test ...................... SKIPPED

        [INFO] Apache cTAKES template filler ...................... SKIPPED

        [INFO] Apache cTAKES Dockhand ............................. SKIPPED



                        [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.4:compile (default-compile) on project ctakes-tiny-rest: Compilation failure: Compilation failure:

        [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol

        [ERROR]   symbol:   class PostConstruct

        [ERROR]   location: package javax.annotation

        [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[43,4] error: cannot find symbol

          1.  I added the following dependency to ctakes/trunk/ctakes-tiny-rest/pom.xml:

        <dependency>

        <groupId>javax.annotation</groupId>

        <artifactId>javax.annotation-api</artifactId>

        <version>1.3.2</version>

        </dependency>

          1.  …and commented out the <scope>provided</scope> attribute of the <groupId>javax.servlet</groupId> dependency in the same file
             *   I did this first, before adding the javax.annotation-api dependency mentioned above, and build still failed. I forgot to revert it before applying adding that dependency, so don’t know if it helped or not.



          1.  [INFO] ------------------------------------------------------------------------

        [INFO] BUILD SUCCESS

        [INFO] ------------------------------------------------------------------------

          1.  I then went through the steps you outlined:
             *   Run the ctakes-dockhand jar
             *   Choose: Rest Server Docker Bundle
             *   Add description
             *   Select pipeline features: [Multiple Sections, Prose Sentences, Tokens, Entities, Attributes, Locations, Severities]
             *   Select pipeline outputs: [FHIR, Text, Properties, XMI, CUI List]
             *   Finish -> Add Save To location
             *   cd {save-to location}/repos
             *   docker build -t dockhandtest .

        [INFO] ------------------------------------------------------------------------

        [INFO] BUILD FAILURE

        [INFO] ------------------------------------------------------------------------

        [INFO] Total time:  3.076 s

        [INFO] Finished at: 2020-06-30T22:54:45Z

        [INFO] ------------------------------------------------------------------------

        [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

          1.  From {save-to location}/repos
             *   Edit pom.xml – change ctakes.version from 4.0.1-SNAPSHOT to 4.0.1 (same error) then to 4.0.0:

        <properties>

        <ctakes.version>4.0.0</ctakes.version>

        </properties>

             *   Rerun docker build -t dockhandtest .: error message improved – only one missing dependency now:

        [INFO] ------------------------------------------------------------------------

        [INFO] BUILD FAILURE

        [INFO] ------------------------------------------------------------------------

        [INFO] Total time:  43.040 s

        [INFO] Finished at: 2020-06-30T23:00:38Z

        [INFO] ------------------------------------------------------------------------

        [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.0 in central (https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=pcCpMxdVbxWvYPBx912AgjRUbL5FuLW8RCXHafDNpuM&e= ) -> [Help 1]



          1.  And this is where I am stuck. I understand that ctakes-tiny-rest:jar must not exist in 4.0.0 or 4.0.1 repositories, but am not sure how to get beyond this point.





        On 6/26/20, 2:33 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:



            Hi Tom,



            Tiny Rest is not really a standalone deal, but utilization is pretty simple once you know what it is for.



            What you can try is:



            Create the jar for ctakes-dockhand using "mvn package".  You can put that jar file anywhere, even a system that doesn't have ctakes.



            Run that jar in a graphical environment (ms windows, gnome, etc.).  Double-click should start it.



            ctakes-dockhand is an installation tool that looks pretty much like any "wizard" style installer.  Make selections on each screen, click next, etc.



            Your selection on the first panel should be "docker rest" - or "rest docker" or something like that.  I can't remember.



            Then give it some description, create the pipeline that you want, etc.



            After you finish the last panel and click "Finish" a small number of files will be created in your chosen directory.   *Note, the tool will not exit by iteself.



            If you are familiar with docker, you can use the Dockerfile that is in that directory to create an image of a ctakes rest service.



            The docker image contains everything you need and when you run it will start a rest service.



            I haven't tried it, but you should also be able to just maven package using the pom in that same output directory without docker.  It will create a war file.

            If you go without docker then you will need to have a web server (tomcat, etc.) and move the war file into the webapps directory or whatever is required for that server.



            There is a little demo page that you can launch on a browser.  Just http to the ip address (of a VM, docker VM, localhost) with the port 8080 and ctakes_tiny_rest.

            For instance:

            https://urldefense.proofpoint.com/v2/url?u=http-3A__192.168.99.101-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=genox1Kxui9FMmo5ZeAVCeHiwiELuEeSO-y0RqpUYaM&e=



            You can curl or use some other rest client, but you should probably use the demo page just to see what it can do.



            To get different output formats you can send with "fhir", "umls", "cui", or "xmi".   "pretty" and "property" are works in progress.  The default is fhir json.



            Sean





            ________________________________________

            From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>

            Sent: Friday, June 26, 2020 5:04 PM

            To: dev@ctakes.apache.org

            Subject: ctakes-tiny-rest - any guidance on running? [EXTERNAL]



            * External Email - Caution *





            I was very excited to find the ctakes-tiny-rest package in the svn repo, but have not been able to get it stood up.



            What I have tried:



              1.  Cloning the svn repo

              2.  mvn package

              3.  java -cp target/ctakes-tiny-rest-4.0.1-SNAPSHOT.jar org.apache.ctakes.rest.service.TinyController

                 *   Error: Unable to initialize main class org.apache.ctakes.rest.service.TinyController



            Caused by: java.lang.NoClassDefFoundError: org/apache/uima/resource/ResourceInitializationException



            I am not very familiar with mvn or with the Spring framework so I suspect I am missing something fundamental.



            Is anyone making use of this component and can point me in the right direction?



            Thanks for your time and consideration!



            Tom



            Thomas Loehfelm, MD

            UC Davis Medical Center

            Abdominal Radiology



Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

Posted by "Finan, Sean" <Se...@childrens.harvard.edu>.
Hi Tom,

I am stumped.  I will bump some things around and see if I can duplicate it, but I won't be able to get to it today.

If I don't respond by Tuesday next week just send me a reminder.

Sean
________________________________________
From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
Sent: Wednesday, July 1, 2020 7:34 PM
To: dev@ctakes.apache.org
Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

* External Email - Caution *


I hope you'll let me buy you a beer or two next time I'm in Boston - adding the maven snapshot repo did the trick.

Followed the README.txt instructions:
4.  Execute "docker build -t ctakes_tiny_rest .".
     This will build an image with the tag "ctakes_tiny_rest".
5.  Set the environment variable "umlsUser" to your umls username.
6.  Set the environment variable "umlsPass" to your umls password.
5.  Execute "docker run --name my_ctakes_rest --rm -d -p 8080:8080 -e umlsUser -e umlsPass ctakes_tiny_rest".
     This will start a container named "my_ctakes_rest" that runs the server.
6.  In a browser, visit "https://urldefense.proofpoint.com/v2/url?u=http-3A__IP.IP.IP.IP-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=TBQZ-y0nCfYSSP9s_iAV6NaW_MpMocKTt3FWqielDjk&e= ".
     This should open a ctakes demo front page.

The demo page looks as expected but am getting an HTTP 500 error with each attempt, and "Error processing REST call" as the output. Browser dev console errors copied below. I'm sure I set umlsUser and umlsPass correctly and triple checked them at the UML Terminology Services login page.

Nothing stands out to me from the trace, but I'll spend some time looking in to it to see what I can come up with.

Tom

javax.servlet.ServletException: Servlet.init() for servlet [ctakes-rest-service] threw exception
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.lang.Thread.run(Thread.java:748)
Root Cause

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tinyController': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
        org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:137)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
        org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
        org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
        org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
        org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
        org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
        org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
        org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
        org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
        org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
        javax.servlet.GenericServlet.init(GenericServlet.java:158)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.lang.Thread.run(Thread.java:748)
Root Cause

java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
        org.apache.ctakes.rest.service.TinyController.init(TinyController.java:52)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:498)
        org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:366)
        org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:311)
        org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:134)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
        org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
        org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
        org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
        org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
        org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
        org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
        org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
        org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
        org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
        javax.servlet.GenericServlet.init(GenericServlet.java:158)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.lang.Thread.run(Thread.java:748)

On 7/1/20, 4:06 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

    I had no idea that this was in the install guide:

    >$ exports MAVEN_OPTS='-Xms3072m -Xmx4g -Xss128M  -XX:+CMSClassUnloadingEnabled -XX:-UseGCOverheadLimit -Dmaven.test.failure.ignore=false'
    $  mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=2FoCH8QvUO_OvHjhD9TtgP30JI8ES9sohpufh8RDlgU&e=

    I never do that.  It is way too specific and I don't need to (or want to) do exactly what Jenkins does unless I'm trying to fix an error on a Jenkins build ...

    All that I use is:
    mvn -DskipTests=true clean package

    Everything else is a default setting.

    I have a thought:  You may need to explicitly add the maven snapshots repo
    https://urldefense.proofpoint.com/v2/url?u=https-3A__repository.apache.org_content_groups_snapshots&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=TgKg-4ASAgS0WTjSUsYmOegk9nrcEwJlYAAfAAU3wak&e=

    Please:
    In the pom.xml next to the Dockerfile, add the following  right above <build>..</build>

        <repositories>
          <repository>
             <id>apache.snapshots</id>
             <name>Apache Development Snapshot Repository</name>
              <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repository.apache.org_content_groups_snapshots_&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=9qAmVa2u2__7kad06kQp3hqsj4Q6V1RfbzeZnjauUvo&s=bANlBnAM2tGMXMOxaQFJ8vrqnDo5vNjKl54_HAlvMHo&e= </url>
             <releases>
                <enabled>false</enabled>
             </releases>
             <snapshots>
                <enabled>true</enabled>
             </snapshots>
          </repository>
       </repositories>


    That may help.  Let me know if it does then I will add it to the pom in trunk.

    Sean
    ________________________________________
    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
    Sent: Wednesday, July 1, 2020 6:28 PM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

    * External Email - Caution *


    Thanks again Sean. Java8 allows the build to complete even with Ytex - well, I should say, Ctakes built successfully, but then the sonar portion of the build triggered by this line in the developer install guide failed:

    mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=ALGTH-Hi6voMC5fJL2YiOYyLfTucZwVZurOl-hazXwE&e=

    I removed what seemed to be the offensive parts of the script and ran again as this and it worked:

    mvn --fail-at-end --errors --update-snapshots clean install -DskipTests=false

    Unfortunately, still getting the same error on docker build:
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  3.563 s
    [INFO] Finished at: 2020-07-01T22:15:42Z
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

    From the stack trace here's the point where it starts throwing warnings after successfully findings POMs for non-ctakes packages and then not finding them for ctakes:
    ...
    Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=
    Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=  (14 kB at 285 kB/s)
    Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=
    Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=  (43 kB at 401 kB/s)
    [WARNING] The POM for org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT is missing, no dependency information available
    [WARNING] The POM for org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT is missing, no dependency information available
    [WARNING] The POM for org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT is missing, no dependency information available
    ...

    I ran the same "mvn help:evaluate" on my computer and get the same result as you. I commented out the ctakes-related commands from Dockerfile so that I could at least build the container with tomcat, maven, and openjdk8, and ran mvn help:evaluate from the container as well and got the same output.

    In case the issue was that I was building ALL of ctakes and not just dockhand, I tried that too from a fresh svn checkout of ctakes, cd {ctakes-dockhand} > mvn package and run the jar, but same issue.

    Ah well - I just don't have enough understanding of maven and java devops to get to the bottom of this. I really appreciate you taking the time to respond Sean, and apologize for the java version issue - rookie mistake!

    Tom

    On 7/1/20, 2:02 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

        Hi Tom,

        My settings.xml is completely commented.  It looks like defaults are used when nothing specific is provided.

        I ran "mvn help:evaluate" and entered "${project.repositories}" when prompted.  My default repository is:
        <repositories>
          <repository>
            <id>central</id>
            <name>Central Repository</name>
            <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=LbWH-d8QbjhFJh3OOL0NpLt0T8QGO9LFTuGv1EyVGB4&e= </url>
            <layout>default</layout>
            <snapshots>
              <enabled>false</enabled>
            </snapshots>
          </repository>
        </repositories>

        Yours should be the same.

        Sean
        ________________________________________
        From: Finan, Sean <Se...@childrens.harvard.edu>
        Sent: Wednesday, July 1, 2020 3:58 PM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

        * External Email - Caution *


        Hi Tom,

        ctakes requires java 8.  So the first thing that needs to be done is putting java 8 on your system and starting the whole process from scratch.  You may end up commenting out the ytex stuff, but the rest of the experience should be different.

        I am also not a maven expert.  I will have to look at my settings.xml and get back to you (after a meeting).

        !! If anybody else out there has a quick answer, please speak up.

        Sean

        ________________________________________
        From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
        Sent: Wednesday, July 1, 2020 3:14 PM
        To: dev@ctakes.apache.org
        Subject: RE: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

        * External Email - Caution *


        Not behind any firewalls or weird port issues - home internet and personal computer, no VPN.

        javac -version: 14.0.1

        If I understand maven correctly (spoiler alert: I don't) - it will look for artifacts in repos that are listed in the settings.xml file. I'm noticing my settings.xml file doesn't have ANY repos listed. Would you mind sharing the relevant sections of yours if you think that might be part of the problem?

        On macos if installed with homebrew the maven settings are in:
         /usr/local/Cellar/maven/{maven version; mine is 3.6.3_1}/libexec/conf/settings.xml

        My settings.xml is pretty much all commented out (it came that way!), but I've added the following localRepository:

        <localRepository>${user.name}/.m2/repository</localRepository>

        It seems like I should have some other public repos listed here...



        -----Original Message-----
        From: Finan, Sean <Se...@childrens.harvard.edu>
        Sent: Wednesday, July 01, 2020 5:25 AM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

        Hi Tom,

        first, let me offer my commiseration regarding the ytex failure.  I think that at some point I will write the community for objections and then make it a separate build from (primary) ctakes.  I think that your solution of removing ytex from the main project on your system is absolutely the correct thing to do since you don't want it anyway.

        After that, I have only guesses as to what might be going on.  I haven't personally had any of the build problems that you are facing.

        One thing that I didn't make clear:  You only need to build the ctakes-dockhand.jar, not all of ctakes.   But the errors you see are still troublesome (especially in docker).

        >  [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

        I don't understand the above error at all.  All of those artifacts do exist.  I use them on a (practically) daily basis. Is it possible that you don't have a port open or that your docker machine is behind a firewall of some sort?

        There is one question that I have for you about the error

        >ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol
        [ERROR]   symbol:   class PostConstruct
        [ERROR]   location: package javax.annotation

        What version of java are you using?  ctakes requires version 8.  javax.annotation -should- be standard in java 8.  You can try running "javac -version".

        Sean


        ________________________________________
        From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
        Sent: Tuesday, June 30, 2020 7:06 PM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

        * External Email - Caution *


        Thank you for the direction, Sean. I ran in to build issues, some addressed on prior threads (YTEX related), some that I couldn’t find references to in the mailing list archives. I am still stuck not able to complete the docker build due to an unresolved dependency. Including the info below in case it is helpful to anyone, and in case anyone can help with what (hopefully!) is the final error.



        Working through Dev install guide<https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_CTAKES_cTAKES-2B4.0-2BDeveloper-2BInstall-2BGuide&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=V7soEGQAN0_YigZAyAX_xHg6I72rT0_sx5ggS9ojp2A&e= >:

          1.  I get a FAILURE on building cTAKES YTEX

        …

        [INFO] ctakes-examples-res ................................ SUCCESS [  0.363 s]

        [INFO] ctakes-examples .................................... SUCCESS [  1.311 s]

        [INFO] Apache cTAKES Resources ctakes-ytex-res ............ SUCCESS [  0.308 s]

        [INFO] Apache cTAKES YTEX ................................. FAILURE [  0.717 s]

        [INFO] Apache cTAKES YTEX UIMA ............................ SKIPPED

        [INFO] Apache cTAKES Tiny Rest Service .................... SKIPPED

        [INFO] Apache cTAKES Distribution ......................... SKIPPED

        [INFO] Apache cTAKES Regression-test ...................... SKIPPED

        [INFO] Apache cTAKES template filler ...................... SKIPPED

        [INFO] Apache cTAKES Dockhand ............................. SKIPPED



        …

        Caused by: java.lang.ClassNotFoundException: javax.activation.MimeTypeParseException

                        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)

                        at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)

                        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)

                        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

                        ... 51 more

             *   From this thread<https://urldefense.proofpoint.com/v2/url?u=http-3A__mail-2Darchives.apache.org_mod-5Fmbox_ctakes-2Ddev_201907.mbox_-253cCALfEtMvGzE9TppFCuLTNdgqzSU5ew5RVkVjUgq19WF3pwNTyRQ-40mail.gmail.com-253e&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=1UdlzWnTMDEq7f2ix9ZemrMBvsS4TAo2Kl0i7jOLq_g&e= > I tried:

                                                                       i.       mvn clean install -Dmaven.test.skip=true

                   *   I get the same FAILURE and stack trace
             *   From your comment in that same thread (“Wouldn't it be better to remove [YTEX]  dependency from the cTAKES core pom.xml…”) I thought I’d try removing all references to YTEX from {ctakes_trunk}/pom.xml:

                                                                       i.      Comment out lines 201-204, 789-807, and 1023

             *   Rerun mvn clean install -Dmaven.test.skip=true

                                                                       i.      Immediate ERROR due to YTEX dependencies in ctakes/trunk/ctakes-distribution/pom.xml

             *   Remove references to YTEX from ctakes-distribution/pom.xml

                                                                       i.      Comment out lines 123-130

             *   Rerun mvn clean install -Dmaven.test.skip=true
          1.  Now I get a FAILURE on cTAKES Tiny Rest Service:

        …

        [INFO] ctakes-examples-res ................................ SUCCESS [  0.231 s]

        [INFO] ctakes-examples .................................... SUCCESS [  0.680 s]

        [INFO] Apache cTAKES Tiny Rest Service .................... FAILURE [  0.275 s]

        [INFO] Apache cTAKES Distribution ......................... SKIPPED

        [INFO] Apache cTAKES Regression-test ...................... SKIPPED

        [INFO] Apache cTAKES template filler ...................... SKIPPED

        [INFO] Apache cTAKES Dockhand ............................. SKIPPED



                        [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.4:compile (default-compile) on project ctakes-tiny-rest: Compilation failure: Compilation failure:

        [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol

        [ERROR]   symbol:   class PostConstruct

        [ERROR]   location: package javax.annotation

        [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[43,4] error: cannot find symbol

          1.  I added the following dependency to ctakes/trunk/ctakes-tiny-rest/pom.xml:

        <dependency>

        <groupId>javax.annotation</groupId>

        <artifactId>javax.annotation-api</artifactId>

        <version>1.3.2</version>

        </dependency>

          1.  …and commented out the <scope>provided</scope> attribute of the <groupId>javax.servlet</groupId> dependency in the same file
             *   I did this first, before adding the javax.annotation-api dependency mentioned above, and build still failed. I forgot to revert it before applying adding that dependency, so don’t know if it helped or not.



          1.  [INFO] ------------------------------------------------------------------------

        [INFO] BUILD SUCCESS

        [INFO] ------------------------------------------------------------------------

          1.  I then went through the steps you outlined:
             *   Run the ctakes-dockhand jar
             *   Choose: Rest Server Docker Bundle
             *   Add description
             *   Select pipeline features: [Multiple Sections, Prose Sentences, Tokens, Entities, Attributes, Locations, Severities]
             *   Select pipeline outputs: [FHIR, Text, Properties, XMI, CUI List]
             *   Finish -> Add Save To location
             *   cd {save-to location}/repos
             *   docker build -t dockhandtest .

        [INFO] ------------------------------------------------------------------------

        [INFO] BUILD FAILURE

        [INFO] ------------------------------------------------------------------------

        [INFO] Total time:  3.076 s

        [INFO] Finished at: 2020-06-30T22:54:45Z

        [INFO] ------------------------------------------------------------------------

        [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

          1.  From {save-to location}/repos
             *   Edit pom.xml – change ctakes.version from 4.0.1-SNAPSHOT to 4.0.1 (same error) then to 4.0.0:

        <properties>

        <ctakes.version>4.0.0</ctakes.version>

        </properties>

             *   Rerun docker build -t dockhandtest .: error message improved – only one missing dependency now:

        [INFO] ------------------------------------------------------------------------

        [INFO] BUILD FAILURE

        [INFO] ------------------------------------------------------------------------

        [INFO] Total time:  43.040 s

        [INFO] Finished at: 2020-06-30T23:00:38Z

        [INFO] ------------------------------------------------------------------------

        [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.0 in central (https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=pcCpMxdVbxWvYPBx912AgjRUbL5FuLW8RCXHafDNpuM&e= ) -> [Help 1]



          1.  And this is where I am stuck. I understand that ctakes-tiny-rest:jar must not exist in 4.0.0 or 4.0.1 repositories, but am not sure how to get beyond this point.





        On 6/26/20, 2:33 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:



            Hi Tom,



            Tiny Rest is not really a standalone deal, but utilization is pretty simple once you know what it is for.



            What you can try is:



            Create the jar for ctakes-dockhand using "mvn package".  You can put that jar file anywhere, even a system that doesn't have ctakes.



            Run that jar in a graphical environment (ms windows, gnome, etc.).  Double-click should start it.



            ctakes-dockhand is an installation tool that looks pretty much like any "wizard" style installer.  Make selections on each screen, click next, etc.



            Your selection on the first panel should be "docker rest" - or "rest docker" or something like that.  I can't remember.



            Then give it some description, create the pipeline that you want, etc.



            After you finish the last panel and click "Finish" a small number of files will be created in your chosen directory.   *Note, the tool will not exit by iteself.



            If you are familiar with docker, you can use the Dockerfile that is in that directory to create an image of a ctakes rest service.



            The docker image contains everything you need and when you run it will start a rest service.



            I haven't tried it, but you should also be able to just maven package using the pom in that same output directory without docker.  It will create a war file.

            If you go without docker then you will need to have a web server (tomcat, etc.) and move the war file into the webapps directory or whatever is required for that server.



            There is a little demo page that you can launch on a browser.  Just http to the ip address (of a VM, docker VM, localhost) with the port 8080 and ctakes_tiny_rest.

            For instance:

            https://urldefense.proofpoint.com/v2/url?u=http-3A__192.168.99.101-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=genox1Kxui9FMmo5ZeAVCeHiwiELuEeSO-y0RqpUYaM&e=



            You can curl or use some other rest client, but you should probably use the demo page just to see what it can do.



            To get different output formats you can send with "fhir", "umls", "cui", or "xmi".   "pretty" and "property" are works in progress.  The default is fhir json.



            Sean





            ________________________________________

            From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>

            Sent: Friday, June 26, 2020 5:04 PM

            To: dev@ctakes.apache.org

            Subject: ctakes-tiny-rest - any guidance on running? [EXTERNAL]



            * External Email - Caution *





            I was very excited to find the ctakes-tiny-rest package in the svn repo, but have not been able to get it stood up.



            What I have tried:



              1.  Cloning the svn repo

              2.  mvn package

              3.  java -cp target/ctakes-tiny-rest-4.0.1-SNAPSHOT.jar org.apache.ctakes.rest.service.TinyController

                 *   Error: Unable to initialize main class org.apache.ctakes.rest.service.TinyController



            Caused by: java.lang.NoClassDefFoundError: org/apache/uima/resource/ResourceInitializationException



            I am not very familiar with mvn or with the Spring framework so I suspect I am missing something fundamental.



            Is anyone making use of this component and can point me in the right direction?



            Thanks for your time and consideration!



            Tom



            Thomas Loehfelm, MD

            UC Davis Medical Center

            Abdominal Radiology



Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

Posted by Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>.
I hope you'll let me buy you a beer or two next time I'm in Boston - adding the maven snapshot repo did the trick.

Followed the README.txt instructions:
4.  Execute "docker build -t ctakes_tiny_rest .".
     This will build an image with the tag "ctakes_tiny_rest".
5.  Set the environment variable "umlsUser" to your umls username.
6.  Set the environment variable "umlsPass" to your umls password.
5.  Execute "docker run --name my_ctakes_rest --rm -d -p 8080:8080 -e umlsUser -e umlsPass ctakes_tiny_rest".
     This will start a container named "my_ctakes_rest" that runs the server.
6.  In a browser, visit "http://IP.IP.IP.IP:8080/ctakes_tiny_rest".
     This should open a ctakes demo front page.

The demo page looks as expected but am getting an HTTP 500 error with each attempt, and "Error processing REST call" as the output. Browser dev console errors copied below. I'm sure I set umlsUser and umlsPass correctly and triple checked them at the UML Terminology Services login page.

Nothing stands out to me from the trace, but I'll spend some time looking in to it to see what I can come up with.

Tom

javax.servlet.ServletException: Servlet.init() for servlet [ctakes-rest-service] threw exception
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
	org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
	org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	java.lang.Thread.run(Thread.java:748)
Root Cause

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tinyController': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
	org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:137)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
	org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
	org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
	org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
	org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
	org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
	org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
	org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
	org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
	org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
	org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
	javax.servlet.GenericServlet.init(GenericServlet.java:158)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
	org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
	org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	java.lang.Thread.run(Thread.java:748)
Root Cause

java.lang.NoClassDefFoundError: Could not initialize class org.apache.ctakes.rest.service.RestPipelineRunner
	org.apache.ctakes.rest.service.TinyController.init(TinyController.java:52)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:366)
	org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:311)
	org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:134)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
	org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
	org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
	org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
	org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
	org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
	org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
	org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
	org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
	org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
	org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
	org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
	org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
	javax.servlet.GenericServlet.init(GenericServlet.java:158)
	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
	org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
	org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
	org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1417)
	org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	java.lang.Thread.run(Thread.java:748)

On 7/1/20, 4:06 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

    I had no idea that this was in the install guide:

    >$ exports MAVEN_OPTS='-Xms3072m -Xmx4g -Xss128M  -XX:+CMSClassUnloadingEnabled -XX:-UseGCOverheadLimit -Dmaven.test.failure.ignore=false'
    $  mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://builds.apache.org/analysis

    I never do that.  It is way too specific and I don't need to (or want to) do exactly what Jenkins does unless I'm trying to fix an error on a Jenkins build ...

    All that I use is:
    mvn -DskipTests=true clean package

    Everything else is a default setting.

    I have a thought:  You may need to explicitly add the maven snapshots repo
    https://repository.apache.org/content/groups/snapshots

    Please:
    In the pom.xml next to the Dockerfile, add the following  right above <build>..</build>

        <repositories>
          <repository>
             <id>apache.snapshots</id>
             <name>Apache Development Snapshot Repository</name>
              <url>https://repository.apache.org/content/groups/snapshots/</url>
             <releases>
                <enabled>false</enabled>
             </releases>
             <snapshots>
                <enabled>true</enabled>
             </snapshots>
          </repository>
       </repositories>


    That may help.  Let me know if it does then I will add it to the pom in trunk.

    Sean
    ________________________________________
    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
    Sent: Wednesday, July 1, 2020 6:28 PM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

    * External Email - Caution *


    Thanks again Sean. Java8 allows the build to complete even with Ytex - well, I should say, Ctakes built successfully, but then the sonar portion of the build triggered by this line in the developer install guide failed:

    mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=ALGTH-Hi6voMC5fJL2YiOYyLfTucZwVZurOl-hazXwE&e=

    I removed what seemed to be the offensive parts of the script and ran again as this and it worked:

    mvn --fail-at-end --errors --update-snapshots clean install -DskipTests=false

    Unfortunately, still getting the same error on docker build:
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  3.563 s
    [INFO] Finished at: 2020-07-01T22:15:42Z
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

    From the stack trace here's the point where it starts throwing warnings after successfully findings POMs for non-ctakes packages and then not finding them for ctakes:
    ...
    Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=
    Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=  (14 kB at 285 kB/s)
    Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=
    Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=  (43 kB at 401 kB/s)
    [WARNING] The POM for org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT is missing, no dependency information available
    [WARNING] The POM for org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT is missing, no dependency information available
    [WARNING] The POM for org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT is missing, no dependency information available
    ...

    I ran the same "mvn help:evaluate" on my computer and get the same result as you. I commented out the ctakes-related commands from Dockerfile so that I could at least build the container with tomcat, maven, and openjdk8, and ran mvn help:evaluate from the container as well and got the same output.

    In case the issue was that I was building ALL of ctakes and not just dockhand, I tried that too from a fresh svn checkout of ctakes, cd {ctakes-dockhand} > mvn package and run the jar, but same issue.

    Ah well - I just don't have enough understanding of maven and java devops to get to the bottom of this. I really appreciate you taking the time to respond Sean, and apologize for the java version issue - rookie mistake!

    Tom

    On 7/1/20, 2:02 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

        Hi Tom,

        My settings.xml is completely commented.  It looks like defaults are used when nothing specific is provided.

        I ran "mvn help:evaluate" and entered "${project.repositories}" when prompted.  My default repository is:
        <repositories>
          <repository>
            <id>central</id>
            <name>Central Repository</name>
            <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=LbWH-d8QbjhFJh3OOL0NpLt0T8QGO9LFTuGv1EyVGB4&e= </url>
            <layout>default</layout>
            <snapshots>
              <enabled>false</enabled>
            </snapshots>
          </repository>
        </repositories>

        Yours should be the same.

        Sean
        ________________________________________
        From: Finan, Sean <Se...@childrens.harvard.edu>
        Sent: Wednesday, July 1, 2020 3:58 PM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

        * External Email - Caution *


        Hi Tom,

        ctakes requires java 8.  So the first thing that needs to be done is putting java 8 on your system and starting the whole process from scratch.  You may end up commenting out the ytex stuff, but the rest of the experience should be different.

        I am also not a maven expert.  I will have to look at my settings.xml and get back to you (after a meeting).

        !! If anybody else out there has a quick answer, please speak up.

        Sean

        ________________________________________
        From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
        Sent: Wednesday, July 1, 2020 3:14 PM
        To: dev@ctakes.apache.org
        Subject: RE: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

        * External Email - Caution *


        Not behind any firewalls or weird port issues - home internet and personal computer, no VPN.

        javac -version: 14.0.1

        If I understand maven correctly (spoiler alert: I don't) - it will look for artifacts in repos that are listed in the settings.xml file. I'm noticing my settings.xml file doesn't have ANY repos listed. Would you mind sharing the relevant sections of yours if you think that might be part of the problem?

        On macos if installed with homebrew the maven settings are in:
         /usr/local/Cellar/maven/{maven version; mine is 3.6.3_1}/libexec/conf/settings.xml

        My settings.xml is pretty much all commented out (it came that way!), but I've added the following localRepository:

        <localRepository>${user.name}/.m2/repository</localRepository>

        It seems like I should have some other public repos listed here...



        -----Original Message-----
        From: Finan, Sean <Se...@childrens.harvard.edu>
        Sent: Wednesday, July 01, 2020 5:25 AM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

        Hi Tom,

        first, let me offer my commiseration regarding the ytex failure.  I think that at some point I will write the community for objections and then make it a separate build from (primary) ctakes.  I think that your solution of removing ytex from the main project on your system is absolutely the correct thing to do since you don't want it anyway.

        After that, I have only guesses as to what might be going on.  I haven't personally had any of the build problems that you are facing.

        One thing that I didn't make clear:  You only need to build the ctakes-dockhand.jar, not all of ctakes.   But the errors you see are still troublesome (especially in docker).

        >  [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

        I don't understand the above error at all.  All of those artifacts do exist.  I use them on a (practically) daily basis. Is it possible that you don't have a port open or that your docker machine is behind a firewall of some sort?

        There is one question that I have for you about the error

        >ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol
        [ERROR]   symbol:   class PostConstruct
        [ERROR]   location: package javax.annotation

        What version of java are you using?  ctakes requires version 8.  javax.annotation -should- be standard in java 8.  You can try running "javac -version".

        Sean


        ________________________________________
        From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
        Sent: Tuesday, June 30, 2020 7:06 PM
        To: dev@ctakes.apache.org
        Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

        * External Email - Caution *


        Thank you for the direction, Sean. I ran in to build issues, some addressed on prior threads (YTEX related), some that I couldn’t find references to in the mailing list archives. I am still stuck not able to complete the docker build due to an unresolved dependency. Including the info below in case it is helpful to anyone, and in case anyone can help with what (hopefully!) is the final error.



        Working through Dev install guide<https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_CTAKES_cTAKES-2B4.0-2BDeveloper-2BInstall-2BGuide&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=V7soEGQAN0_YigZAyAX_xHg6I72rT0_sx5ggS9ojp2A&e= >:

          1.  I get a FAILURE on building cTAKES YTEX

        …

        [INFO] ctakes-examples-res ................................ SUCCESS [  0.363 s]

        [INFO] ctakes-examples .................................... SUCCESS [  1.311 s]

        [INFO] Apache cTAKES Resources ctakes-ytex-res ............ SUCCESS [  0.308 s]

        [INFO] Apache cTAKES YTEX ................................. FAILURE [  0.717 s]

        [INFO] Apache cTAKES YTEX UIMA ............................ SKIPPED

        [INFO] Apache cTAKES Tiny Rest Service .................... SKIPPED

        [INFO] Apache cTAKES Distribution ......................... SKIPPED

        [INFO] Apache cTAKES Regression-test ...................... SKIPPED

        [INFO] Apache cTAKES template filler ...................... SKIPPED

        [INFO] Apache cTAKES Dockhand ............................. SKIPPED



        …

        Caused by: java.lang.ClassNotFoundException: javax.activation.MimeTypeParseException

                        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)

                        at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)

                        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)

                        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

                        ... 51 more

             *   From this thread<https://urldefense.proofpoint.com/v2/url?u=http-3A__mail-2Darchives.apache.org_mod-5Fmbox_ctakes-2Ddev_201907.mbox_-253cCALfEtMvGzE9TppFCuLTNdgqzSU5ew5RVkVjUgq19WF3pwNTyRQ-40mail.gmail.com-253e&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=1UdlzWnTMDEq7f2ix9ZemrMBvsS4TAo2Kl0i7jOLq_g&e= > I tried:

                                                                       i.       mvn clean install -Dmaven.test.skip=true

                   *   I get the same FAILURE and stack trace
             *   From your comment in that same thread (“Wouldn't it be better to remove [YTEX]  dependency from the cTAKES core pom.xml…”) I thought I’d try removing all references to YTEX from {ctakes_trunk}/pom.xml:

                                                                       i.      Comment out lines 201-204, 789-807, and 1023

             *   Rerun mvn clean install -Dmaven.test.skip=true

                                                                       i.      Immediate ERROR due to YTEX dependencies in ctakes/trunk/ctakes-distribution/pom.xml

             *   Remove references to YTEX from ctakes-distribution/pom.xml

                                                                       i.      Comment out lines 123-130

             *   Rerun mvn clean install -Dmaven.test.skip=true
          1.  Now I get a FAILURE on cTAKES Tiny Rest Service:

        …

        [INFO] ctakes-examples-res ................................ SUCCESS [  0.231 s]

        [INFO] ctakes-examples .................................... SUCCESS [  0.680 s]

        [INFO] Apache cTAKES Tiny Rest Service .................... FAILURE [  0.275 s]

        [INFO] Apache cTAKES Distribution ......................... SKIPPED

        [INFO] Apache cTAKES Regression-test ...................... SKIPPED

        [INFO] Apache cTAKES template filler ...................... SKIPPED

        [INFO] Apache cTAKES Dockhand ............................. SKIPPED



                        [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.4:compile (default-compile) on project ctakes-tiny-rest: Compilation failure: Compilation failure:

        [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol

        [ERROR]   symbol:   class PostConstruct

        [ERROR]   location: package javax.annotation

        [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[43,4] error: cannot find symbol

          1.  I added the following dependency to ctakes/trunk/ctakes-tiny-rest/pom.xml:

        <dependency>

        <groupId>javax.annotation</groupId>

        <artifactId>javax.annotation-api</artifactId>

        <version>1.3.2</version>

        </dependency>

          1.  …and commented out the <scope>provided</scope> attribute of the <groupId>javax.servlet</groupId> dependency in the same file
             *   I did this first, before adding the javax.annotation-api dependency mentioned above, and build still failed. I forgot to revert it before applying adding that dependency, so don’t know if it helped or not.



          1.  [INFO] ------------------------------------------------------------------------

        [INFO] BUILD SUCCESS

        [INFO] ------------------------------------------------------------------------

          1.  I then went through the steps you outlined:
             *   Run the ctakes-dockhand jar
             *   Choose: Rest Server Docker Bundle
             *   Add description
             *   Select pipeline features: [Multiple Sections, Prose Sentences, Tokens, Entities, Attributes, Locations, Severities]
             *   Select pipeline outputs: [FHIR, Text, Properties, XMI, CUI List]
             *   Finish -> Add Save To location
             *   cd {save-to location}/repos
             *   docker build -t dockhandtest .

        [INFO] ------------------------------------------------------------------------

        [INFO] BUILD FAILURE

        [INFO] ------------------------------------------------------------------------

        [INFO] Total time:  3.076 s

        [INFO] Finished at: 2020-06-30T22:54:45Z

        [INFO] ------------------------------------------------------------------------

        [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

          1.  From {save-to location}/repos
             *   Edit pom.xml – change ctakes.version from 4.0.1-SNAPSHOT to 4.0.1 (same error) then to 4.0.0:

        <properties>

        <ctakes.version>4.0.0</ctakes.version>

        </properties>

             *   Rerun docker build -t dockhandtest .: error message improved – only one missing dependency now:

        [INFO] ------------------------------------------------------------------------

        [INFO] BUILD FAILURE

        [INFO] ------------------------------------------------------------------------

        [INFO] Total time:  43.040 s

        [INFO] Finished at: 2020-06-30T23:00:38Z

        [INFO] ------------------------------------------------------------------------

        [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.0 in central (https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=pcCpMxdVbxWvYPBx912AgjRUbL5FuLW8RCXHafDNpuM&e= ) -> [Help 1]



          1.  And this is where I am stuck. I understand that ctakes-tiny-rest:jar must not exist in 4.0.0 or 4.0.1 repositories, but am not sure how to get beyond this point.





        On 6/26/20, 2:33 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:



            Hi Tom,



            Tiny Rest is not really a standalone deal, but utilization is pretty simple once you know what it is for.



            What you can try is:



            Create the jar for ctakes-dockhand using "mvn package".  You can put that jar file anywhere, even a system that doesn't have ctakes.



            Run that jar in a graphical environment (ms windows, gnome, etc.).  Double-click should start it.



            ctakes-dockhand is an installation tool that looks pretty much like any "wizard" style installer.  Make selections on each screen, click next, etc.



            Your selection on the first panel should be "docker rest" - or "rest docker" or something like that.  I can't remember.



            Then give it some description, create the pipeline that you want, etc.



            After you finish the last panel and click "Finish" a small number of files will be created in your chosen directory.   *Note, the tool will not exit by iteself.



            If you are familiar with docker, you can use the Dockerfile that is in that directory to create an image of a ctakes rest service.



            The docker image contains everything you need and when you run it will start a rest service.



            I haven't tried it, but you should also be able to just maven package using the pom in that same output directory without docker.  It will create a war file.

            If you go without docker then you will need to have a web server (tomcat, etc.) and move the war file into the webapps directory or whatever is required for that server.



            There is a little demo page that you can launch on a browser.  Just http to the ip address (of a VM, docker VM, localhost) with the port 8080 and ctakes_tiny_rest.

            For instance:

            https://urldefense.proofpoint.com/v2/url?u=http-3A__192.168.99.101-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=genox1Kxui9FMmo5ZeAVCeHiwiELuEeSO-y0RqpUYaM&e=



            You can curl or use some other rest client, but you should probably use the demo page just to see what it can do.



            To get different output formats you can send with "fhir", "umls", "cui", or "xmi".   "pretty" and "property" are works in progress.  The default is fhir json.



            Sean





            ________________________________________

            From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>

            Sent: Friday, June 26, 2020 5:04 PM

            To: dev@ctakes.apache.org

            Subject: ctakes-tiny-rest - any guidance on running? [EXTERNAL]



            * External Email - Caution *





            I was very excited to find the ctakes-tiny-rest package in the svn repo, but have not been able to get it stood up.



            What I have tried:



              1.  Cloning the svn repo

              2.  mvn package

              3.  java -cp target/ctakes-tiny-rest-4.0.1-SNAPSHOT.jar org.apache.ctakes.rest.service.TinyController

                 *   Error: Unable to initialize main class org.apache.ctakes.rest.service.TinyController



            Caused by: java.lang.NoClassDefFoundError: org/apache/uima/resource/ResourceInitializationException



            I am not very familiar with mvn or with the Spring framework so I suspect I am missing something fundamental.



            Is anyone making use of this component and can point me in the right direction?



            Thanks for your time and consideration!



            Tom



            Thomas Loehfelm, MD

            UC Davis Medical Center

            Abdominal Radiology



Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

Posted by "Finan, Sean" <Se...@childrens.harvard.edu>.
I had no idea that this was in the install guide:

>$ exports MAVEN_OPTS='-Xms3072m -Xmx4g -Xss128M  -XX:+CMSClassUnloadingEnabled -XX:-UseGCOverheadLimit -Dmaven.test.failure.ignore=false'
$  mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://builds.apache.org/analysis

I never do that.  It is way too specific and I don't need to (or want to) do exactly what Jenkins does unless I'm trying to fix an error on a Jenkins build ...

All that I use is:
mvn -DskipTests=true clean package

Everything else is a default setting.

I have a thought:  You may need to explicitly add the maven snapshots repo
https://repository.apache.org/content/groups/snapshots

Please:
In the pom.xml next to the Dockerfile, add the following  right above <build>..</build>

    <repositories>
      <repository>
         <id>apache.snapshots</id>
         <name>Apache Development Snapshot Repository</name>
          <url>https://repository.apache.org/content/groups/snapshots/</url>
         <releases>
            <enabled>false</enabled>
         </releases>
         <snapshots>
            <enabled>true</enabled>
         </snapshots>
      </repository>
   </repositories>


That may help.  Let me know if it does then I will add it to the pom in trunk.

Sean
________________________________________
From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
Sent: Wednesday, July 1, 2020 6:28 PM
To: dev@ctakes.apache.org
Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

* External Email - Caution *


Thanks again Sean. Java8 allows the build to complete even with Ytex - well, I should say, Ctakes built successfully, but then the sonar portion of the build triggered by this line in the developer install guide failed:

mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://urldefense.proofpoint.com/v2/url?u=https-3A__builds.apache.org_analysis&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=ALGTH-Hi6voMC5fJL2YiOYyLfTucZwVZurOl-hazXwE&e=

I removed what seemed to be the offensive parts of the script and ran again as this and it worked:

mvn --fail-at-end --errors --update-snapshots clean install -DskipTests=false

Unfortunately, still getting the same error on docker build:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.563 s
[INFO] Finished at: 2020-07-01T22:15:42Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

From the stack trace here's the point where it starts throwing warnings after successfully findings POMs for non-ctakes packages and then not finding them for ctakes:
...
Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=
Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_apache_13_apache-2D13.pom&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=C0m12_VckGoFGqAwADXB1DaLyIdK0I_Par3nQ_4ULxE&e=  (14 kB at 285 kB/s)
Downloading from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=
Downloaded from central: https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2_org_apache_maven_plugins_maven-2Dcompiler-2Dplugin_3.1_maven-2Dcompiler-2Dplugin-2D3.1.jar&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=DifUiCkszwnyoA2NvmPd31RmtsOh4rOLS5hOQKwiKPk&e=  (43 kB at 401 kB/s)
[WARNING] The POM for org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT is missing, no dependency information available
...

I ran the same "mvn help:evaluate" on my computer and get the same result as you. I commented out the ctakes-related commands from Dockerfile so that I could at least build the container with tomcat, maven, and openjdk8, and ran mvn help:evaluate from the container as well and got the same output.

In case the issue was that I was building ALL of ctakes and not just dockhand, I tried that too from a fresh svn checkout of ctakes, cd {ctakes-dockhand} > mvn package and run the jar, but same issue.

Ah well - I just don't have enough understanding of maven and java devops to get to the bottom of this. I really appreciate you taking the time to respond Sean, and apologize for the java version issue - rookie mistake!

Tom

On 7/1/20, 2:02 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

    Hi Tom,

    My settings.xml is completely commented.  It looks like defaults are used when nothing specific is provided.

    I ran "mvn help:evaluate" and entered "${project.repositories}" when prompted.  My default repository is:
    <repositories>
      <repository>
        <id>central</id>
        <name>Central Repository</name>
        <url>https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=tQsd4rvmkg8PlC7NV-oGCVoBJU8lW8hWcVj4oCX74l0&s=LbWH-d8QbjhFJh3OOL0NpLt0T8QGO9LFTuGv1EyVGB4&e= </url>
        <layout>default</layout>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
      </repository>
    </repositories>

    Yours should be the same.

    Sean
    ________________________________________
    From: Finan, Sean <Se...@childrens.harvard.edu>
    Sent: Wednesday, July 1, 2020 3:58 PM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

    * External Email - Caution *


    Hi Tom,

    ctakes requires java 8.  So the first thing that needs to be done is putting java 8 on your system and starting the whole process from scratch.  You may end up commenting out the ytex stuff, but the rest of the experience should be different.

    I am also not a maven expert.  I will have to look at my settings.xml and get back to you (after a meeting).

    !! If anybody else out there has a quick answer, please speak up.

    Sean

    ________________________________________
    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
    Sent: Wednesday, July 1, 2020 3:14 PM
    To: dev@ctakes.apache.org
    Subject: RE: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

    * External Email - Caution *


    Not behind any firewalls or weird port issues - home internet and personal computer, no VPN.

    javac -version: 14.0.1

    If I understand maven correctly (spoiler alert: I don't) - it will look for artifacts in repos that are listed in the settings.xml file. I'm noticing my settings.xml file doesn't have ANY repos listed. Would you mind sharing the relevant sections of yours if you think that might be part of the problem?

    On macos if installed with homebrew the maven settings are in:
     /usr/local/Cellar/maven/{maven version; mine is 3.6.3_1}/libexec/conf/settings.xml

    My settings.xml is pretty much all commented out (it came that way!), but I've added the following localRepository:

    <localRepository>${user.name}/.m2/repository</localRepository>

    It seems like I should have some other public repos listed here...



    -----Original Message-----
    From: Finan, Sean <Se...@childrens.harvard.edu>
    Sent: Wednesday, July 01, 2020 5:25 AM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

    Hi Tom,

    first, let me offer my commiseration regarding the ytex failure.  I think that at some point I will write the community for objections and then make it a separate build from (primary) ctakes.  I think that your solution of removing ytex from the main project on your system is absolutely the correct thing to do since you don't want it anyway.

    After that, I have only guesses as to what might be going on.  I haven't personally had any of the build problems that you are facing.

    One thing that I didn't make clear:  You only need to build the ctakes-dockhand.jar, not all of ctakes.   But the errors you see are still troublesome (especially in docker).

    >  [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

    I don't understand the above error at all.  All of those artifacts do exist.  I use them on a (practically) daily basis. Is it possible that you don't have a port open or that your docker machine is behind a firewall of some sort?

    There is one question that I have for you about the error

    >ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol
    [ERROR]   symbol:   class PostConstruct
    [ERROR]   location: package javax.annotation

    What version of java are you using?  ctakes requires version 8.  javax.annotation -should- be standard in java 8.  You can try running "javac -version".

    Sean


    ________________________________________
    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
    Sent: Tuesday, June 30, 2020 7:06 PM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

    * External Email - Caution *


    Thank you for the direction, Sean. I ran in to build issues, some addressed on prior threads (YTEX related), some that I couldn’t find references to in the mailing list archives. I am still stuck not able to complete the docker build due to an unresolved dependency. Including the info below in case it is helpful to anyone, and in case anyone can help with what (hopefully!) is the final error.



    Working through Dev install guide<https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_CTAKES_cTAKES-2B4.0-2BDeveloper-2BInstall-2BGuide&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=V7soEGQAN0_YigZAyAX_xHg6I72rT0_sx5ggS9ojp2A&e= >:

      1.  I get a FAILURE on building cTAKES YTEX

    …

    [INFO] ctakes-examples-res ................................ SUCCESS [  0.363 s]

    [INFO] ctakes-examples .................................... SUCCESS [  1.311 s]

    [INFO] Apache cTAKES Resources ctakes-ytex-res ............ SUCCESS [  0.308 s]

    [INFO] Apache cTAKES YTEX ................................. FAILURE [  0.717 s]

    [INFO] Apache cTAKES YTEX UIMA ............................ SKIPPED

    [INFO] Apache cTAKES Tiny Rest Service .................... SKIPPED

    [INFO] Apache cTAKES Distribution ......................... SKIPPED

    [INFO] Apache cTAKES Regression-test ...................... SKIPPED

    [INFO] Apache cTAKES template filler ...................... SKIPPED

    [INFO] Apache cTAKES Dockhand ............................. SKIPPED



    …

    Caused by: java.lang.ClassNotFoundException: javax.activation.MimeTypeParseException

                    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)

                    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)

                    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)

                    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

                    ... 51 more

         *   From this thread<https://urldefense.proofpoint.com/v2/url?u=http-3A__mail-2Darchives.apache.org_mod-5Fmbox_ctakes-2Ddev_201907.mbox_-253cCALfEtMvGzE9TppFCuLTNdgqzSU5ew5RVkVjUgq19WF3pwNTyRQ-40mail.gmail.com-253e&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=1UdlzWnTMDEq7f2ix9ZemrMBvsS4TAo2Kl0i7jOLq_g&e= > I tried:

                                                                   i.       mvn clean install -Dmaven.test.skip=true

               *   I get the same FAILURE and stack trace
         *   From your comment in that same thread (“Wouldn't it be better to remove [YTEX]  dependency from the cTAKES core pom.xml…”) I thought I’d try removing all references to YTEX from {ctakes_trunk}/pom.xml:

                                                                   i.      Comment out lines 201-204, 789-807, and 1023

         *   Rerun mvn clean install -Dmaven.test.skip=true

                                                                   i.      Immediate ERROR due to YTEX dependencies in ctakes/trunk/ctakes-distribution/pom.xml

         *   Remove references to YTEX from ctakes-distribution/pom.xml

                                                                   i.      Comment out lines 123-130

         *   Rerun mvn clean install -Dmaven.test.skip=true
      1.  Now I get a FAILURE on cTAKES Tiny Rest Service:

    …

    [INFO] ctakes-examples-res ................................ SUCCESS [  0.231 s]

    [INFO] ctakes-examples .................................... SUCCESS [  0.680 s]

    [INFO] Apache cTAKES Tiny Rest Service .................... FAILURE [  0.275 s]

    [INFO] Apache cTAKES Distribution ......................... SKIPPED

    [INFO] Apache cTAKES Regression-test ...................... SKIPPED

    [INFO] Apache cTAKES template filler ...................... SKIPPED

    [INFO] Apache cTAKES Dockhand ............................. SKIPPED



                    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.4:compile (default-compile) on project ctakes-tiny-rest: Compilation failure: Compilation failure:

    [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol

    [ERROR]   symbol:   class PostConstruct

    [ERROR]   location: package javax.annotation

    [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[43,4] error: cannot find symbol

      1.  I added the following dependency to ctakes/trunk/ctakes-tiny-rest/pom.xml:

    <dependency>

    <groupId>javax.annotation</groupId>

    <artifactId>javax.annotation-api</artifactId>

    <version>1.3.2</version>

    </dependency>

      1.  …and commented out the <scope>provided</scope> attribute of the <groupId>javax.servlet</groupId> dependency in the same file
         *   I did this first, before adding the javax.annotation-api dependency mentioned above, and build still failed. I forgot to revert it before applying adding that dependency, so don’t know if it helped or not.



      1.  [INFO] ------------------------------------------------------------------------

    [INFO] BUILD SUCCESS

    [INFO] ------------------------------------------------------------------------

      1.  I then went through the steps you outlined:
         *   Run the ctakes-dockhand jar
         *   Choose: Rest Server Docker Bundle
         *   Add description
         *   Select pipeline features: [Multiple Sections, Prose Sentences, Tokens, Entities, Attributes, Locations, Severities]
         *   Select pipeline outputs: [FHIR, Text, Properties, XMI, CUI List]
         *   Finish -> Add Save To location
         *   cd {save-to location}/repos
         *   docker build -t dockhandtest .

    [INFO] ------------------------------------------------------------------------

    [INFO] BUILD FAILURE

    [INFO] ------------------------------------------------------------------------

    [INFO] Total time:  3.076 s

    [INFO] Finished at: 2020-06-30T22:54:45Z

    [INFO] ------------------------------------------------------------------------

    [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

      1.  From {save-to location}/repos
         *   Edit pom.xml – change ctakes.version from 4.0.1-SNAPSHOT to 4.0.1 (same error) then to 4.0.0:

    <properties>

    <ctakes.version>4.0.0</ctakes.version>

    </properties>

         *   Rerun docker build -t dockhandtest .: error message improved – only one missing dependency now:

    [INFO] ------------------------------------------------------------------------

    [INFO] BUILD FAILURE

    [INFO] ------------------------------------------------------------------------

    [INFO] Total time:  43.040 s

    [INFO] Finished at: 2020-06-30T23:00:38Z

    [INFO] ------------------------------------------------------------------------

    [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.0 in central (https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=pcCpMxdVbxWvYPBx912AgjRUbL5FuLW8RCXHafDNpuM&e= ) -> [Help 1]



      1.  And this is where I am stuck. I understand that ctakes-tiny-rest:jar must not exist in 4.0.0 or 4.0.1 repositories, but am not sure how to get beyond this point.





    On 6/26/20, 2:33 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:



        Hi Tom,



        Tiny Rest is not really a standalone deal, but utilization is pretty simple once you know what it is for.



        What you can try is:



        Create the jar for ctakes-dockhand using "mvn package".  You can put that jar file anywhere, even a system that doesn't have ctakes.



        Run that jar in a graphical environment (ms windows, gnome, etc.).  Double-click should start it.



        ctakes-dockhand is an installation tool that looks pretty much like any "wizard" style installer.  Make selections on each screen, click next, etc.



        Your selection on the first panel should be "docker rest" - or "rest docker" or something like that.  I can't remember.



        Then give it some description, create the pipeline that you want, etc.



        After you finish the last panel and click "Finish" a small number of files will be created in your chosen directory.   *Note, the tool will not exit by iteself.



        If you are familiar with docker, you can use the Dockerfile that is in that directory to create an image of a ctakes rest service.



        The docker image contains everything you need and when you run it will start a rest service.



        I haven't tried it, but you should also be able to just maven package using the pom in that same output directory without docker.  It will create a war file.

        If you go without docker then you will need to have a web server (tomcat, etc.) and move the war file into the webapps directory or whatever is required for that server.



        There is a little demo page that you can launch on a browser.  Just http to the ip address (of a VM, docker VM, localhost) with the port 8080 and ctakes_tiny_rest.

        For instance:

        https://urldefense.proofpoint.com/v2/url?u=http-3A__192.168.99.101-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=genox1Kxui9FMmo5ZeAVCeHiwiELuEeSO-y0RqpUYaM&e=



        You can curl or use some other rest client, but you should probably use the demo page just to see what it can do.



        To get different output formats you can send with "fhir", "umls", "cui", or "xmi".   "pretty" and "property" are works in progress.  The default is fhir json.



        Sean





        ________________________________________

        From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>

        Sent: Friday, June 26, 2020 5:04 PM

        To: dev@ctakes.apache.org

        Subject: ctakes-tiny-rest - any guidance on running? [EXTERNAL]



        * External Email - Caution *





        I was very excited to find the ctakes-tiny-rest package in the svn repo, but have not been able to get it stood up.



        What I have tried:



          1.  Cloning the svn repo

          2.  mvn package

          3.  java -cp target/ctakes-tiny-rest-4.0.1-SNAPSHOT.jar org.apache.ctakes.rest.service.TinyController

             *   Error: Unable to initialize main class org.apache.ctakes.rest.service.TinyController



        Caused by: java.lang.NoClassDefFoundError: org/apache/uima/resource/ResourceInitializationException



        I am not very familiar with mvn or with the Spring framework so I suspect I am missing something fundamental.



        Is anyone making use of this component and can point me in the right direction?



        Thanks for your time and consideration!



        Tom



        Thomas Loehfelm, MD

        UC Davis Medical Center

        Abdominal Radiology


Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

Posted by Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>.
Thanks again Sean. Java8 allows the build to complete even with Ytex - well, I should say, Ctakes built successfully, but then the sonar portion of the build triggered by this line in the developer install guide failed:

mvn --fail-at-end --errors --update-snapshots clean install sonar:sonar -DskipTests=false -Dsonar.scm.provider=svn -Dsonar.host.url=https://builds.apache.org/analysis

I removed what seemed to be the offensive parts of the script and ran again as this and it worked:

mvn --fail-at-end --errors --update-snapshots clean install -DskipTests=false

Unfortunately, still getting the same error on docker build:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.563 s
[INFO] Finished at: 2020-07-01T22:15:42Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

From the stack trace here's the point where it starts throwing warnings after successfully findings POMs for non-ctakes packages and then not finding them for ctakes:
...
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/apache/13/apache-13.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/13/apache-13.pom (14 kB at 285 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/3.1/maven-compiler-plugin-3.1.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-compiler-plugin/3.1/maven-compiler-plugin-3.1.jar (43 kB at 401 kB/s)
[WARNING] The POM for org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT is missing, no dependency information available
[WARNING] The POM for org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT is missing, no dependency information available
...

I ran the same "mvn help:evaluate" on my computer and get the same result as you. I commented out the ctakes-related commands from Dockerfile so that I could at least build the container with tomcat, maven, and openjdk8, and ran mvn help:evaluate from the container as well and got the same output.

In case the issue was that I was building ALL of ctakes and not just dockhand, I tried that too from a fresh svn checkout of ctakes, cd {ctakes-dockhand} > mvn package and run the jar, but same issue.

Ah well - I just don't have enough understanding of maven and java devops to get to the bottom of this. I really appreciate you taking the time to respond Sean, and apologize for the java version issue - rookie mistake!

Tom

On 7/1/20, 2:02 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:

    Hi Tom,

    My settings.xml is completely commented.  It looks like defaults are used when nothing specific is provided.

    I ran "mvn help:evaluate" and entered "${project.repositories}" when prompted.  My default repository is:
    <repositories>
      <repository>
        <id>central</id>
        <name>Central Repository</name>
        <url>https://repo.maven.apache.org/maven2</url>
        <layout>default</layout>
        <snapshots>
          <enabled>false</enabled>
        </snapshots>
      </repository>
    </repositories>

    Yours should be the same.

    Sean
    ________________________________________
    From: Finan, Sean <Se...@childrens.harvard.edu>
    Sent: Wednesday, July 1, 2020 3:58 PM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL] [SUSPICIOUS]

    * External Email - Caution *


    Hi Tom,

    ctakes requires java 8.  So the first thing that needs to be done is putting java 8 on your system and starting the whole process from scratch.  You may end up commenting out the ytex stuff, but the rest of the experience should be different.

    I am also not a maven expert.  I will have to look at my settings.xml and get back to you (after a meeting).

    !! If anybody else out there has a quick answer, please speak up.

    Sean

    ________________________________________
    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
    Sent: Wednesday, July 1, 2020 3:14 PM
    To: dev@ctakes.apache.org
    Subject: RE: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

    * External Email - Caution *


    Not behind any firewalls or weird port issues - home internet and personal computer, no VPN.

    javac -version: 14.0.1

    If I understand maven correctly (spoiler alert: I don't) - it will look for artifacts in repos that are listed in the settings.xml file. I'm noticing my settings.xml file doesn't have ANY repos listed. Would you mind sharing the relevant sections of yours if you think that might be part of the problem?

    On macos if installed with homebrew the maven settings are in:
     /usr/local/Cellar/maven/{maven version; mine is 3.6.3_1}/libexec/conf/settings.xml

    My settings.xml is pretty much all commented out (it came that way!), but I've added the following localRepository:

    <localRepository>${user.name}/.m2/repository</localRepository>

    It seems like I should have some other public repos listed here...



    -----Original Message-----
    From: Finan, Sean <Se...@childrens.harvard.edu>
    Sent: Wednesday, July 01, 2020 5:25 AM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

    Hi Tom,

    first, let me offer my commiseration regarding the ytex failure.  I think that at some point I will write the community for objections and then make it a separate build from (primary) ctakes.  I think that your solution of removing ytex from the main project on your system is absolutely the correct thing to do since you don't want it anyway.

    After that, I have only guesses as to what might be going on.  I haven't personally had any of the build problems that you are facing.

    One thing that I didn't make clear:  You only need to build the ctakes-dockhand.jar, not all of ctakes.   But the errors you see are still troublesome (especially in docker).

    >  [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

    I don't understand the above error at all.  All of those artifacts do exist.  I use them on a (practically) daily basis. Is it possible that you don't have a port open or that your docker machine is behind a firewall of some sort?

    There is one question that I have for you about the error

    >ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol
    [ERROR]   symbol:   class PostConstruct
    [ERROR]   location: package javax.annotation

    What version of java are you using?  ctakes requires version 8.  javax.annotation -should- be standard in java 8.  You can try running "javac -version".

    Sean


    ________________________________________
    From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>
    Sent: Tuesday, June 30, 2020 7:06 PM
    To: dev@ctakes.apache.org
    Subject: Re: ctakes-tiny-rest - any guidance on running? [EXTERNAL]

    * External Email - Caution *


    Thank you for the direction, Sean. I ran in to build issues, some addressed on prior threads (YTEX related), some that I couldn’t find references to in the mailing list archives. I am still stuck not able to complete the docker build due to an unresolved dependency. Including the info below in case it is helpful to anyone, and in case anyone can help with what (hopefully!) is the final error.



    Working through Dev install guide<https://urldefense.proofpoint.com/v2/url?u=https-3A__cwiki.apache.org_confluence_display_CTAKES_cTAKES-2B4.0-2BDeveloper-2BInstall-2BGuide&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=V7soEGQAN0_YigZAyAX_xHg6I72rT0_sx5ggS9ojp2A&e= >:

      1.  I get a FAILURE on building cTAKES YTEX

    …

    [INFO] ctakes-examples-res ................................ SUCCESS [  0.363 s]

    [INFO] ctakes-examples .................................... SUCCESS [  1.311 s]

    [INFO] Apache cTAKES Resources ctakes-ytex-res ............ SUCCESS [  0.308 s]

    [INFO] Apache cTAKES YTEX ................................. FAILURE [  0.717 s]

    [INFO] Apache cTAKES YTEX UIMA ............................ SKIPPED

    [INFO] Apache cTAKES Tiny Rest Service .................... SKIPPED

    [INFO] Apache cTAKES Distribution ......................... SKIPPED

    [INFO] Apache cTAKES Regression-test ...................... SKIPPED

    [INFO] Apache cTAKES template filler ...................... SKIPPED

    [INFO] Apache cTAKES Dockhand ............................. SKIPPED



    …

    Caused by: java.lang.ClassNotFoundException: javax.activation.MimeTypeParseException

                    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)

                    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)

                    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)

                    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

                    ... 51 more

         *   From this thread<https://urldefense.proofpoint.com/v2/url?u=http-3A__mail-2Darchives.apache.org_mod-5Fmbox_ctakes-2Ddev_201907.mbox_-253cCALfEtMvGzE9TppFCuLTNdgqzSU5ew5RVkVjUgq19WF3pwNTyRQ-40mail.gmail.com-253e&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=1UdlzWnTMDEq7f2ix9ZemrMBvsS4TAo2Kl0i7jOLq_g&e= > I tried:

                                                                   i.       mvn clean install -Dmaven.test.skip=true

               *   I get the same FAILURE and stack trace
         *   From your comment in that same thread (“Wouldn't it be better to remove [YTEX]  dependency from the cTAKES core pom.xml…”) I thought I’d try removing all references to YTEX from {ctakes_trunk}/pom.xml:

                                                                   i.      Comment out lines 201-204, 789-807, and 1023

         *   Rerun mvn clean install -Dmaven.test.skip=true

                                                                   i.      Immediate ERROR due to YTEX dependencies in ctakes/trunk/ctakes-distribution/pom.xml

         *   Remove references to YTEX from ctakes-distribution/pom.xml

                                                                   i.      Comment out lines 123-130

         *   Rerun mvn clean install -Dmaven.test.skip=true
      1.  Now I get a FAILURE on cTAKES Tiny Rest Service:

    …

    [INFO] ctakes-examples-res ................................ SUCCESS [  0.231 s]

    [INFO] ctakes-examples .................................... SUCCESS [  0.680 s]

    [INFO] Apache cTAKES Tiny Rest Service .................... FAILURE [  0.275 s]

    [INFO] Apache cTAKES Distribution ......................... SKIPPED

    [INFO] Apache cTAKES Regression-test ...................... SKIPPED

    [INFO] Apache cTAKES template filler ...................... SKIPPED

    [INFO] Apache cTAKES Dockhand ............................. SKIPPED



                    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.4:compile (default-compile) on project ctakes-tiny-rest: Compilation failure: Compilation failure:

    [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[28,23] error: cannot find symbol

    [ERROR]   symbol:   class PostConstruct

    [ERROR]   location: package javax.annotation

    [ERROR] /Users/thomas/projects/ctakes/trunk/ctakes-tiny-rest/src/main/java/org/apache/ctakes/rest/service/TinyController.java:[43,4] error: cannot find symbol

      1.  I added the following dependency to ctakes/trunk/ctakes-tiny-rest/pom.xml:

    <dependency>

    <groupId>javax.annotation</groupId>

    <artifactId>javax.annotation-api</artifactId>

    <version>1.3.2</version>

    </dependency>

      1.  …and commented out the <scope>provided</scope> attribute of the <groupId>javax.servlet</groupId> dependency in the same file
         *   I did this first, before adding the javax.annotation-api dependency mentioned above, and build still failed. I forgot to revert it before applying adding that dependency, so don’t know if it helped or not.



      1.  [INFO] ------------------------------------------------------------------------

    [INFO] BUILD SUCCESS

    [INFO] ------------------------------------------------------------------------

      1.  I then went through the steps you outlined:
         *   Run the ctakes-dockhand jar
         *   Choose: Rest Server Docker Bundle
         *   Add description
         *   Select pipeline features: [Multiple Sections, Prose Sentences, Tokens, Entities, Attributes, Locations, Severities]
         *   Select pipeline outputs: [FHIR, Text, Properties, XMI, CUI List]
         *   Finish -> Add Save To location
         *   cd {save-to location}/repos
         *   docker build -t dockhandtest .

    [INFO] ------------------------------------------------------------------------

    [INFO] BUILD FAILURE

    [INFO] ------------------------------------------------------------------------

    [INFO] Total time:  3.076 s

    [INFO] Finished at: 2020-06-30T22:54:45Z

    [INFO] ------------------------------------------------------------------------

    [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: The following artifacts could not be resolved: org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-utils:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-relation-extractor:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-chunker:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dictionary-lookup-fast:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-constituency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-dependency-parser:jar:4.0.1-SNAPSHOT, org.apache.ctakes:ctakes-context-tokenizer:jar:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.1-SNAPSHOT -> [Help 1]

      1.  From {save-to location}/repos
         *   Edit pom.xml – change ctakes.version from 4.0.1-SNAPSHOT to 4.0.1 (same error) then to 4.0.0:

    <properties>

    <ctakes.version>4.0.0</ctakes.version>

    </properties>

         *   Rerun docker build -t dockhandtest .: error message improved – only one missing dependency now:

    [INFO] ------------------------------------------------------------------------

    [INFO] BUILD FAILURE

    [INFO] ------------------------------------------------------------------------

    [INFO] Total time:  43.040 s

    [INFO] Finished at: 2020-06-30T23:00:38Z

    [INFO] ------------------------------------------------------------------------

    [ERROR] Failed to execute goal on project dockhand-rest: Could not resolve dependencies for project org.apache.ctakes:dockhand-rest:war:4.0.1-SNAPSHOT: Could not find artifact org.apache.ctakes:ctakes-tiny-rest:jar:4.0.0 in central (https://urldefense.proofpoint.com/v2/url?u=https-3A__repo.maven.apache.org_maven2&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=pcCpMxdVbxWvYPBx912AgjRUbL5FuLW8RCXHafDNpuM&e= ) -> [Help 1]



      1.  And this is where I am stuck. I understand that ctakes-tiny-rest:jar must not exist in 4.0.0 or 4.0.1 repositories, but am not sure how to get beyond this point.





    On 6/26/20, 2:33 PM, "Finan, Sean" <Se...@childrens.harvard.edu> wrote:



        Hi Tom,



        Tiny Rest is not really a standalone deal, but utilization is pretty simple once you know what it is for.



        What you can try is:



        Create the jar for ctakes-dockhand using "mvn package".  You can put that jar file anywhere, even a system that doesn't have ctakes.



        Run that jar in a graphical environment (ms windows, gnome, etc.).  Double-click should start it.



        ctakes-dockhand is an installation tool that looks pretty much like any "wizard" style installer.  Make selections on each screen, click next, etc.



        Your selection on the first panel should be "docker rest" - or "rest docker" or something like that.  I can't remember.



        Then give it some description, create the pipeline that you want, etc.



        After you finish the last panel and click "Finish" a small number of files will be created in your chosen directory.   *Note, the tool will not exit by iteself.



        If you are familiar with docker, you can use the Dockerfile that is in that directory to create an image of a ctakes rest service.



        The docker image contains everything you need and when you run it will start a rest service.



        I haven't tried it, but you should also be able to just maven package using the pom in that same output directory without docker.  It will create a war file.

        If you go without docker then you will need to have a web server (tomcat, etc.) and move the war file into the webapps directory or whatever is required for that server.



        There is a little demo page that you can launch on a browser.  Just http to the ip address (of a VM, docker VM, localhost) with the port 8080 and ctakes_tiny_rest.

        For instance:

        https://urldefense.proofpoint.com/v2/url?u=http-3A__192.168.99.101-3A8080_ctakes-5Ftiny-5Frest&d=DwIGaQ&c=qS4goWBT7poplM69zy_3xhKwEW14JZMSdioCoppxeFU&r=fs67GvlGZstTpyIisCYNYmQCP6r0bcpKGd4f7d4gTao&m=pUTbexmiZnykTq7rQgTwZdj0cSAzpWfjzJzMSmD_07c&s=genox1Kxui9FMmo5ZeAVCeHiwiELuEeSO-y0RqpUYaM&e=



        You can curl or use some other rest client, but you should probably use the demo page just to see what it can do.



        To get different output formats you can send with "fhir", "umls", "cui", or "xmi".   "pretty" and "property" are works in progress.  The default is fhir json.



        Sean





        ________________________________________

        From: Thomas W Loehfelm <tw...@ucdavis.edu.INVALID>

        Sent: Friday, June 26, 2020 5:04 PM

        To: dev@ctakes.apache.org

        Subject: ctakes-tiny-rest - any guidance on running? [EXTERNAL]



        * External Email - Caution *





        I was very excited to find the ctakes-tiny-rest package in the svn repo, but have not been able to get it stood up.



        What I have tried:



          1.  Cloning the svn repo

          2.  mvn package

          3.  java -cp target/ctakes-tiny-rest-4.0.1-SNAPSHOT.jar org.apache.ctakes.rest.service.TinyController

             *   Error: Unable to initialize main class org.apache.ctakes.rest.service.TinyController



        Caused by: java.lang.NoClassDefFoundError: org/apache/uima/resource/ResourceInitializationException



        I am not very familiar with mvn or with the Spring framework so I suspect I am missing something fundamental.



        Is anyone making use of this component and can point me in the right direction?



        Thanks for your time and consideration!



        Tom



        Thomas Loehfelm, MD

        UC Davis Medical Center

        Abdominal Radiology