README for $CORENLP_HOME/lib

Written by Bill MacCartney <wcmac@cs.stanford.edu> 23 January 2006
Updated by Daniel Ramage 16 October 2006
Variously updated thereafter.

This directory is intended to contain only *current and necessary*
.jar files used with CoreNLP.

Each file here should have a name that includes a version number,
such as lib/xom-1.3.9.jar and should have a corresponding sources
archive such as libsrc/xom-1.3.9-src.{zip,jar}.

Our original model was that each jar file in lib should be without
its version number but include a corresponding source .zip/.jar file
with a full version number in the libsrc folder.  For example, if
there is a file  lib/xom.jar there should be a corresponding and
up-to-date libsrc/xom-1.3.9-src.{zip,jar}. That model had some good
properties but can also be a nuisance in the modern world, and so
doing this is now deprecated but not quite yet eliminated.

Outdated or redundant .jar files should NOT be kept here.
(Some old jar files at one point used by Stanford NLP can be found on
Stanford NLP machines at /u/nlp/java/liball.)

If you're adding a new .jar to the repository, please:
 - think whether it really is good to add this additional dependency
 - make sure the jar isn't already somewhere in the repository.
   If it is, try to converge on one version and promote placement to
   CoreNLP if it is used in both core and research
 - add the jar itself to the lib directory
 - add its source zip with version number to the libsrc directory
 - check to make sure that the jar file doesn't have other libraries
   embedded within it (use jar -tf). if the .jar file has other libraries
   embedded which overlap with other javanlp libraries, please remove them.
   Normally we then give the jar a name ending in "x" to show we modified it.
 - update the Eclipse .classpath file to include the jar and a path
   to its source -- this is essential to keep things working for 
   Eclipse/IntelliJ users!
 - also update this file with information about the jar
 - If it will be needed by releases of CoreNLP, also add it to the *3* pom files.
 - If it will be needed by releases of CoreNLP, also document the
   licensing in LIBRARY-LICENSES.

Any .jar files which appear in this directory should be listed in
this file, with the following information:

ORIGINAL JAR NAME: original name of the .jar file when downloaded

VERSION: version number

RELEASE DATE: when the library was originally released.

SOURCE AVAILABLE: yes or no, if it is available it should be checked in
to the repository under libsrc

DESCRIPTION: a short description of the library's function and purpose.

URL: where to check for library information, documentation, and updates.

USED BY: what JavaNLP packages use this library. (This need not be exhaustive,
but should list a couple of key packages that use/need this library.)
This should make clear whether it is neede by CoreNLP distributions.

LAST UPDATE: when we last updated our copy from the source.

LAST UPDATE BY: who last updated it




=======================================================================

-----------------------------------------------------------------------
ant-contrib-1.0b3.jar

ORIGINAL JAR NAME: ant-contrib-1.0b3.jar

VERSION: 1.0b3

RELEASE DATE: 2006-11-02

SOURCE AVAILABLE: libsrc/ant-contrib-1.0b3-src.zip

DESCRIPTION: Adds new useful tasks to ant.

URL: http://ant-contrib.sourceforge.net/

USED BY:
the build.xml task that builds .jsps
Not needed by CoreNLP distributions.

LAST UPDATE: 2010/06/28 [no more recent version 2022/03/21]

LAST UPDATE BY: John Bauer

-----------------------------------------------------------------------
lib/tomcat/jasper.jar, el-api.jar, tomcat-juli.jar
           jasper-el.jar, jsp-api.jar, tomcat-api.jar

ORIGINAL JAR NAME: the same...

VERSION: Tomcat 7.0.12

RELEASE DATE: 2011-04-05 (?)

SOURCE AVAILABLE: libsrc/tomcat/apache-tomcat-7.0.12-src.zip

DESCRIPTION: Various parts of tomcat needed to build .jsp files

URL: http://tomcat.apache.org/download-70.cgi

USED BY:
used to build .jsps
Not needed by CoreNLP distributions.

LAST UPDATE: 2011-11-21

LAST UPDATE BY: John Bauer

-----------------------------------------------------------------------
commons-lang3-3.1.jar
ORIGINAL JAR NAME: commons-lang3-3.1.jar
VERSION:
RELEASE DATE: 11-14-2011
SOURCE AVAILABLE: yes
DESCRIPTION: has XML escaping & unescaping methods, amongst other stuff; changes from 2.5 - no escapeHtml function.
URL: http://commons.apache.org/lang/

USED BY: edu.stanford.nlp.kbp and web servlets.
Not needed by CoreNLP distributions.  In core, used only by web apps (jsp pages and NERServlet).

LAST UPDATE: 2013-06-05
LAST UPDATE BY: Sonal Gupta

-----------------------------------------------------------------------
commons-logging.jar

ORIGINAL JAR NAME: commons-logging.jar
VERSION: 1.2
RELEASE DATE: July 2014
SOURCE AVAILABLE: yes
DESCRIPTION: "The Logging package is an ultri-thin bridge between different
logging implementations.  A library that uses the commons-logging API can be
used with any logging implementation at runtime.
URL: http://jakarta.apache.org/commons/logging

USED BY: el-api.jar, jwnl, hadoop, etc. (Only by various external libraries.)
Not needed by CoreNLP distributions.

LAST UPDATE: 2021-12-10
LAST UPDATE BY: John Bauer


-----------------------------------------------------------------------
junit-4.13.1.jar

ORIGINAL JAR NAME: junit-4.13.1.jar

VERSION: 4.13.1

RELEASE DATE: 2020/10/11

SOURCE AVAILABLE: yes

DESCRIPTION: JUnit is a simple framework to write repeatable unit tests.

URL: https://www.junit.org/

USED BY: Our junit tests.
Not needed by CoreNLP distributions.

LAST UPDATE: 2020/10/17

LAST UPDATE BY: Christopher Manning

----------------------------------------------------------------------
AppleJavaExtensions.jar

ORIGINAL JAR NAME: AppleJavaExtensions.jar

VERSION: 1.3

RELEASE DATE: 2006-10-17

SOURCE AVAILABLE: no

DESCRIPTION: Stub methods to allow programs that can use Mac graphical
stuff load on non-macs.  Should only be on compile classpath, not actually
used at run time (Macs actually have the classes in this jar, and should load
by reflection; see TregexGUI for an example).

URL: http://developer.apple.com/samplecode/AppleJavaExtensions/index.html

USED BY: TregexGUI.java
Not needed by CoreNLP distributions
(Only used for fake compilation -- at runtime, either Mac supplies this or it doesn't.)

LAST UPDATE: 2007/09/18

LAST UPDATE BY: Anna Rafferty.

-----------------------------------------------------------------------
xom-1.3.9.jar

ORIGINAL JAR NAME: xom-1.3.9.jar

VERSION: 1.3.9

RELEASE DATE: 2023-05-14

SOURCE AVAILABLE: yes

DESCRIPTION: xml parsing

URL: http://www.xom.nu/

USED BY: StanfordCoreNLP.java
Needed by CoreNLP distributions

LAST UPDATE: 2023-05-16

LAST UPDATE BY: John Bauer

-----------------------------------------------------------------------
jflex-full-1.8.2.jar

ORIGINAL JAR NAME: jflex-full-1.8.2.jar

VERSION: 1.8.2

RELEASE DATE: 2020-05-03

SOURCE AVAILABLE: yes, jflex-1.8.2-src.zip

DESCRIPTION: compiles .flex files into .java

URL: http://jflex.de/

USED BY: Compiling PTBTokenizer, etc.
Not needed by CoreNLP distributions

LAST UPDATE: 2020-11-04

LAST UPDATE BY: John Bauer

-----------------------------------------------------------------------
joda-time-2.13.0.jar
ORIGINAL JAR NAME: joda-time-2.13.0.jar
VERSION: 2.13.0
RELEASE DATE: 2024-09-15
SOURCE AVAILABLE: yes
DESCRIPTION: Extended date/time API that handles partial dates/times
URL: https://github.com/JodaOrg/joda-time/releases 
formerly http://joda-time.sourceforge.net/index.html

USED BY: edu.stanford.nlp.time
Needed by CoreNLP distributions.

LAST UPDATE: 2024-10-18
LAST UPDATE BY: John Bauer

-----------------------------------------------------------------------
jollyday-0.4.9.jar
ORIGINAL JAR NAME: jollyday-0.4.9.jar
VERSION: 0.4.9
RELEASE DATE: 2015-05-06
SOURCE AVAILABLE: yes
DESCRIPTION: API for holidays (using jodatime)
URL: http://jollyday.sourceforge.net

USED BY: edu.stanford.nlp.time
Needed by CoreNLP distributions.

LAST UPDATE: 2016-07-24
LAST UPDATE BY: Christopher Manning

-----------------------------------------------------------------------
ejml-core-0.39.jar
ORIGINAL JAR NAME: ejml-core-0.39.jar
VERSION: 0.39
RELEASE DATE: 2020-04-07
SOURCE AVAILABLE: yes
DESCRIPTION: Another matrix library for Java, perhaps fastest for medium
    size vectors and matrices in 2012.  Otherwise, it's ojAlgo.
URL: http://ejml.org/

USED BY: Used in deep learning, especially RNN parser and sentiment
Needed by CoreNLP distributions.

LAST UPDATE: 2020-10-21
LAST UPDATE BY: John Bauer

-----------------------------------------------------------------------
ejml-ddense-0.39.jar
ORIGINAL JAR NAME: ejml-ddense-0.39.jar
VERSION: 0.39
RELEASE DATE: 2020-04-07
SOURCE AVAILABLE: yes
DESCRIPTION: Another matrix library for Java, perhaps fastest for medium
    size vectors and matrices in 2012.  Otherwise, it's ojAlgo.
URL: http://ejml.org/

USED BY: Used in deep learning, especially RNN parser and sentiment
Needed by CoreNLP distributions.

LAST UPDATE: 2020-10-21
LAST UPDATE BY: John Bauer

-----------------------------------------------------------------------
ejml-simple-0.39.jar
ORIGINAL JAR NAME: ejml-simple-0.39.jar
VERSION: 0.39
RELEASE DATE: 2020-04-07
SOURCE AVAILABLE: yes
DESCRIPTION: Another matrix library for Java, perhaps fastest for medium
    size vectors and matrices in 2012.  Otherwise, it's ojAlgo.
URL: http://ejml.org/

USED BY: Used in deep learning, especially RNN parser and sentiment
Needed by CoreNLP distributions.

LAST UPDATE: 2020-10-21
LAST UPDATE BY: John Bauer

-----------------------------------------------------------------------
javacc.jar
ORIGINAL JAR NAME: javacc.jar
VERSION: 7.0.9
RELEASE DATE: June 2020
SOURCE AVAILABLE: no
DESCRIPTION: JavaCC is a parser/scanner generator for java
             compiles .jj and .jjt files to .java
URL: https://java.net/projects/javacc
USED BY: Needed for compiling tregex, tsurgeon, semgrex
Not needed by CoreNLP distributions

LAST UPDATE: 2020-11-04
LAST UPDATE BY: John Bauer

-----------------------------------------------------------------
jakarta.servlet-api-4.0.4.jar
ORIGINAL JAR NAME: jakarta.servlet-api-4.0.4.jar
VERSION: 4.0.4
RELEASE DATE: 2020
SOURCE AVAILABLE: Yes. In: libsrc/jakarta.servlet-api-4.0.4-sources.jar
DESCRIPTION: Used by servlets.  Replaces javax.servlet.jar
URL: https://central.sonatype.com/artifact/jakarta.servlet/jakarta.servlet-api/4.0.4/versions

USED BY: Our servlets
Not needed by CoreNLP distributions

LAST UPDATE: 2023
LAST UPDATE BY: John Bauer

-----------------------------------------------------------------
protobuf-java-3.25.5.jar
ORIGINAL JAR NAME: protobuf-java-3.25.5.jar
VERSION: 3.25.5
RELEASE DATE: Sep 2024
SOURCE AVAILABLE: yes
DESCRIPTION: Google's protocol buffer library
URL: https://developers.google.com/protocol-buffers/
USED BY: CoreMapProtos (and associated serializers)
LAST UPDATE: 2024-09-24
LAST UPDATE BY: John Bauer

----------------------------------------------------------------
jakarta.json-1.1.6.jar
REPLACES: javax.json.jar
VERSION: 1.1.6
RELEASE DATE: 2019-08-20
SOURCE AVAILABLE: Yes
DESCRIPTION: Json processing tool (RI, which has the API also) available with Java EE 7.
URL: https://jsonp.java.net/ It has two jars, API and RI. This is the RI one.
USED BY: patterns.surface
LAST UPDATE: 2024-10-08
LAST UPDATE BY: John Bauer. Originally added by Sonal Gupta

-----------------------------------------------------------------------
lucene-analyzers-common-7.7.3.jar
lucene-core-7.7.3.jar
lucene-demo-7.7.3.jar
lucene-queryparser-7.7.3.jar
ORIGINAL JAR NAME: n/a
VERSION: 7.7.3
RELEASE DATE: 2020-04-24
SOURCE AVAILABLE: yes
DESCRIPTION: "Apache Lucene is a high-performance, full-featured text
search engine library written entirely in Java. It is a technology
suitable for nearly any application that requires full-text search,
especially cross-platform. Doesn't conform to naming convention as
in has version number, as before. Broken into several Jars in this version."
URL: http://lucene.apache.org/
USED BY: patterns.surface

LAST UPDATE: 2024-10-08
LAST UPDATE BY: John Bauer

-----------------------------------------------------------------
slf4j-api.jar
ORIGINAL JAR NAME: slf4j-api-1.7.12.jar

VERSION: 1.7.12
RELEASE DATE: 26 Mar 2015
SOURCE AVAILABLE: yes
DESCRIPTION: "A facade that allows users to choose various logging
frameworks at deployment time."
URL: https://www.slf4j.org/
USED BY: SLF4JHandler

LAST UPDATE: 2017-01-12
LAST UPDATE BY: Jason Bolton
-----------------------------------------------------------------
slf4j-simple.jar
ORIGINAL JAR NAME: slf4j-simple-1.7.12.jar

VERSION: 1.7.12
RELEASE DATE: 26 Mar 2015
SOURCE AVAILABLE: yes
DESCRIPTION: "A basic logger that works with slf4j"
URL: https://www.slf4j.org/

LAST UPDATE: 2017-01-17
LAST UPDATE BY: Jason Bolton

-----------------------------------------------------------------
istack-commons-runtime

VERSION: 3.0.7
SOURCE AVAILABLE: yes

DESCRIPTION: replaced jaxb-core-2.3.0.1 with suitable istack
  implementation. you can only use one implementation of
  com.sun.xml.bind at a time
LAST UPDATE BY: Stephan (outside user) & John Bauer

-----------------------------------------------------------------


foo.jar

ORIGINAL JAR NAME:

VERSION:

RELEASE DATE:

SOURCE AVAILABLE:

DESCRIPTION:

URL:

USED BY:

LAST UPDATE:

LAST UPDATE BY:

