Maven repositories contain these two dependencies: org.apache.commons:commons-io:1.3.2 and commons-io:commons-io:1.3.2. What is the difference and which one I should be using in my pom.xml?
In general some of the apache commons packages are located in http://repo1.maven.org/maven2/org/apache/commons/ and most of the commons-*
packages are located here http://repo1.maven.org/maven2/.
From commons-io website. the latest release is 2.0.1. 1.3.2 is pretty old. Given this information, the repository in http://repo2.maven.org/maven2/commons-io/ holds the latest releases and is the right one to use.
This related mail thread makes interesting reading.
The deployment of
org.apache.commons:commons-io:1.3.2
Was a mistake that was ultimately fixed by relocating:
POM of org.apache.commons:commons-io:1.3.2
To use commons-io:commons-io:1.3.2
.
The mistake was likely an attempt to migrate the Commons IO library to use the current naming convention for Maven groupIds.
The two dependencies look the same. I would prefer to use commons-io:commons-io, cause the pom of org.apache.commons:commons-io:1.3.2 is wrong (wrong groupId!)
The artifacts located at this position: http://repo1.maven.org/maven2/org/apache/commons/ are newer in date than the others.