Get the latest version of fixedformat4j
fixedformat4j 1.9.0 is published to Maven Central.
Requirements
- Java 11 or later — Java 8 is no longer supported as of version 1.4.0.
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.