iban-commons
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>de.speedbanking</groupId>
<artifactId>iban-commons</artifactId>
<version>1.8.6</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright © 2025-2026 Markus Spann, SpeedBankingDe
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>de.speedbanking</groupId>
<artifactId>iban-commons-parent</artifactId>
<version>1.8.6</version>
<!-- relativePath omitted → Maven resolves from local repo / reactor -->
</parent>
<artifactId>iban-commons</artifactId>
<packaging>jar</packaging>
<name>${project.organization.name} IBAN Commons</name>
<description>
Zero-dependency, high-performance Java 8+ library for IBAN and BIC validation,
parsing, and formatting. Supports 120 countries from the SWIFT IBAN Registry
(ISO 13616) and BIC validation per ISO 9362. Outperforms iban4j and Apache Commons
Validator by up to 4x in throughput (7,700,000 ops/s) with 10x lower memory
allocation. Android-compatible (API 21+). Features: SEPA validation, country
metadata, immutable thread-safe objects, serialization security, small JAR (~100KB).
Suitable for banking, fintech, e-commerce, and payment processing applications.
</description>
<dependencies>
<!-- zero compile/runtime dependencies -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<!-- scope: test (inherited from dependencyManagement) -->
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<!-- scope: test (inherited from dependencyManagement) -->
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<!-- scope: test (inherited from dependencyManagement) -->
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestEntries>
<!--
JPMS automatic module name.
Allows Java 9+ consumers to declare
'requires de.speedbanking.iban;'
without this library being a named module itself.
Must be stable and never change after first release.
-->
<Automatic-Module-Name>de.speedbanking.iban</Automatic-Module-Name>
</manifestEntries>
</archive>
</configuration>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<includes>
<include>**/junit/jupiter/**</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.cyclonedx</groupId>
<artifactId>cyclonedx-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>