com.fasterxml.jackson.core.util

## Class VersionUtil

- java.lang.Object
- - com.fasterxml.jackson.core.util.VersionUtil

Direct Known Subclasses:
  CoreVersion

    public class VersionUtil
    extends Object

Functionality for supporting exposing of component `Version`s.

Note that this class can be used in two roles: first, as a static utility class for loading purposes, and second, as a singleton loader of per-module version information. In latter case one must sub-class to get proper per-module instance; and sub-class must reside in same Java package as matching "VERSION.txt" file.

### Field Summary

Fields
`static String` `VERSION_FILE`

### Constructor Summary

Constructors
`protected` `VersionUtil()`

### Method Summary

Methods
`static Version` `mavenVersionFor(ClassLoader classLoader, String groupId, String artifactId)` Will attempt to load the maven version for the given groupId and artifactId.
`static Version` `parseVersion(String versionStr)` Deprecated.
`static Version` `parseVersion(String versionStr, String groupId, String artifactId)`
`protected static int` `parseVersionPart(String partStr)`
`Version` `version()`
`static Version` `versionFor(Class<?> cls)` Helper method that will try to load version information for specified class.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### VERSION_FILE

    public static final String VERSION_FILE

See Also:
  Constant Field Values

### Constructor Detail

#### VersionUtil

    protected VersionUtil()

### Method Detail

#### version

    public Version version()

#### versionFor

    public static Version versionFor(Class<?> cls)

Helper method that will try to load version information for specified class. Implementation is simple: class loader that loaded specified class is asked to load resource with name "VERSION" from same location (package) as class itself had. If no version information is found, `Version.unknownVersion()` is returned.

#### mavenVersionFor

    public static Version mavenVersionFor(ClassLoader classLoader,
                          String groupId,
                          String artifactId)

Will attempt to load the maven version for the given groupId and artifactId. Maven puts a pom.properties file in META-INF/maven/groupId/artifactId, containing the groupId, artifactId and version of the library.

Parameters:
  `classLoader` - the ClassLoader to load the pom.properties file from
  `groupId` - the groupId of the library
  `artifactId` - the artifactId of the library
Returns:
  The version

#### parseVersion

    @Deprecated
    public static Version parseVersion(String versionStr)

Deprecated.
Use variant that takes three arguments instead

#### parseVersion

    public static Version parseVersion(String versionStr,
                       String groupId,
                       String artifactId)

#### parseVersionPart

    protected static int parseVersionPart(String partStr)