Fantastic! I am glad that you found the issue - that wouldn't have been a straightforward causal to track down.
Unfortunately we cannot package and ship any binaries that aren't fully Apache license compliant etc. However, we can do two different things: - We can still grab mysql from maven central for developers to use in a developer environment, just like we do with the default umls dictionary. - We can provide an easy means for fetching the library post-installation. A Dockerfile for ctakes, a downloader that launches when mysql is selected, or a good old fashioned installation script. Luckily the mysql library is easily available and we wouldn't need to put together a runtime package like APR. https://books.google.com/books?id=HTo_AmTpQPMC&pg=PA14&lpg=PA14&dq=apache+license+mysql&source=bl&ots=uOpifTcI2E&sig=-qlWP2-pXtEkwPM8BsKd73GvX9g&hl=en&sa=X&ved=0ahUKEwjhqrrX55PYAhVm5YMKHTB2AGM4ChDoAQhMMAY#v=onepage&q=apache%20license%20mysql&f=false https://apr.apache.org/download.cgi I think that we could make a class that searches for mysql in the environment if the mysql option is selected. ctakes-gui has a dependency that makes this easy. Then a little downloader that throws a driver into the lib/ directory. If needed we could create a factory that returns a wrapper for the required mysql driver classes, and the factory could contain a class loader that guarantees the jar is discovered post-installation. That way a restart of the gui wouldn't be necessary ... though that may not be a big deal. I am just throwing out some ideas. There is probably a very nice solution that I haven't considered. Sean -----Original Message----- From: Matthew Vita [mailto:matthewvit...@gmail.com] Sent: Monday, December 18, 2017 1:23 AM To: dev@ctakes.apache.org; Sandeep Byatha Gururaja rao; Shane Chesnutt Subject: cTAKES Rest Service Development - Dictionary GUI MySQL Progress + 1 Concern [EXTERNAL] Hi Gandhi, Sean, Tim, Alex, James, Good news, I was able to get MySQL running in the `ctakes-gui` (recall that I am building in a toggle so that folks can create dictionaries using MySQL rather than HSQLDB script files). I found out the source of the issue with bringing in the MySQL dependency. This one definitely took me a while and was super subtle! If you visit /ctakes/ctakes-distribution/src/main/assembly/bin.xml, <exclude>mysql:*</exclude>is present because it's a n non-asf compliant dependency used by ytex. Removing the exclude and addingin <include>mysql:mysql-connector-java</include> gets the correct result: /ctakes/ctakes-distribution/target/apache-ctakes-4.0.1-SNAPSHOT/lib matthew % ls -lash | grep mysql 3912 -rw-r--r-- 1 matthew staff 1.9M Dec 14 20:23 mysql-connector-java-6.0.6.jar Just for completeness, this is the exact POM entry: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.6</version> </dependency> Is there anyway we can use MySQL in cTAKES in a way that is compliant with ASF? I wonder if MariaDB or Postgresql would be better because they work with JDBC and are free/open source. Of course, I am biased towards MySQL/MariaDB because the (near) future users of cTAKES Rest Service in the OpenEMR space are going to want MySQL/MariaDB users :). Not a huge deal though. Thanks, Matthew Vita www.matthewvita.com