Get the latest version of fixedformat4j

fixedformat4j 1.9.0 is published to Maven Central.

Requirements

Add the dependency

Maven Central is the default repository for all three build tools below — no extra repository configuration or authentication is needed.

The artifact is also browsable at central.sonatype.com.

Maven

Add to your pom.xml:

<dependency>
  <groupId>com.ancientprogramming.fixedformat4j</groupId>
  <artifactId>fixedformat4j</artifactId>
  <version>1.9.0</version>
</dependency>

Gradle

Groovy DSL (build.gradle):

implementation 'com.ancientprogramming.fixedformat4j:fixedformat4j:1.9.0'

Kotlin DSL (build.gradle.kts):

implementation("com.ancientprogramming.fixedformat4j:fixedformat4j:1.9.0")

Ivy

Add to your ivy.xml dependencies block:

<dependency org="com.ancientprogramming.fixedformat4j"
            name="fixedformat4j"
            rev="1.9.0"/>

Optional: compile-time validation

Since 1.9.0 a second artifact, fixedformat4j-processor, validates @Field / @Record configuration at compile time. It is an annotation processor — wire it into the compiler rather than the runtime classpath:

<annotationProcessorPaths>
  <path>
    <groupId>com.ancientprogramming.fixedformat4j</groupId>
    <artifactId>fixedformat4j-processor</artifactId>
    <version>1.9.0</version>
  </path>
</annotationProcessorPaths>
annotationProcessor 'com.ancientprogramming.fixedformat4j:fixedformat4j-processor:1.9.0'

See Compile-time validation for the full setup options and the list of checks.

Optional: Micrometer metrics

Since 1.9.0 the fixedformat4j-micrometer artifact publishes load/export timers, parse-error counters, and reader line counters to any Micrometer registry:

<dependency>
  <groupId>com.ancientprogramming.fixedformat4j</groupId>
  <artifactId>fixedformat4j-micrometer</artifactId>
  <version>1.9.0</version>
</dependency>
implementation 'com.ancientprogramming.fixedformat4j:fixedformat4j-micrometer:1.9.0'

See Metrics for wiring and the full meter list.

Logging

fixedformat4j uses SLF4J for logging. SLF4J is a logging facade — you must provide a binding on the classpath to route log output to your preferred logging framework (e.g. Logback, Log4j 2, or slf4j-simple).

Example with Logback:

<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>1.5.18</version>
</dependency>

If no binding is found, SLF4J will print a one-time warning and silently discard all log output — the library will still function correctly.