Question
Adam Dewing · Mar 3, 2020

Intersystem jar files

I'm working on developing Productions with java. The sample project has several intersystems jar files:
-- intersystems-enslib-jms-3.1.0.jar
-- intersystems-gateway-3.1.0.jar
-- intersystems-jdbc-3.1.0.jar
-- intersystems-spark-1.0.0.jar
-- intersystems-uima-1.0.0.jar
-- intersystems-utils-3.1.0.jar
-- intersystems-xep-3.1.0.jar

I have the jar files, but where can I find them for download? Are they available on a maven repository somewhere?

Any help would be appreciated!

00
2 0 3 310
Log in or sign up to continue

Replies

Hi Adam - 

At the moment, the jar files are only distributed as part of IRIS (the Windows installer, Docker container, etc). If distributing the client libraries in a different manner would significantly improve your development cycle, please let me know.

-Bob

That means the jar files will be available to the java code during runtime, which works.  During development of the java code, I just added the jar files in maven with a scope of system, which should solve my problem.  

Thank you for the quick response!

As I have continued to work on developing java code for PEX, using the workflow as described in the InterSystems book that can be found here,  I think it would add a lot of value for you to store the jars in a public maven repository such as Maven Central .  The reason is that we develop the java classes outside of InterSystems first, again per the workflow recommended by InterSystems.   Without them being in a repo for maven to download, we have a couple options to work around this, which are all ugly:

  • Add the jars locally as with a system scope.
    • Causes maven warnings and this is a deprecated maven functionality.
  • Create a local repository which requires a lot of configuration and means that if someone downloads my project from git, will be missing all the jar files.
  • Create an internal company maven repository which requires a lot of work across multiple teams.

The first option is the best as anyone can then download my project from version control (git, svn, etc...) and have all the needed files. With the system scope set in the pom for these jars, the jars will not be included in the built jar.  This, unfortunately, is a deprecated maven function.   As more InterSystems customers start using PEX, I think having them in a public repository will add a lot of business value for InterSystems.