From 660d2f25560e6783825ba3435181279f0f451e18 Mon Sep 17 00:00:00 2001 From: James Rosewell Date: Tue, 3 Nov 2026 14:09:03 +0000 Subject: [PATCH 1/5] Package text says what each package does in the words people search for The pom description of device-detection, device-detection.cloud, device-detection.hash.engine.on-premise, ip-intelligence, ip-intelligence.cloud, and ip-intelligence.engine.on-premise now opens with the phrases developers search for (Device Detection, User-Agent parser, IP Intelligence, and IP geolocation). Each one then says what the package finds, whether it uses the 51Degrees cloud service or reads a data file on your server, and that it is built on the 51Degrees Pipeline API. The cloud packages say they need a Resource Key, because the cloud request engine will not start without one. The on-premise engines no longer say "with no external service calls", because both can download data file updates when automatic updates are on. Claims the text cannot support and the names of other companies' products are removed. Names and versions are unchanged. --- device-detection/device-detection.cloud/pom.xml | 2 +- .../device-detection.hash.engine.on-premise/pom.xml | 2 +- device-detection/device-detection/pom.xml | 2 +- ip-intelligence/ip-intelligence.cloud/pom.xml | 2 +- ip-intelligence/ip-intelligence.engine.on-premise/pom.xml | 2 +- ip-intelligence/ip-intelligence/pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/device-detection/device-detection.cloud/pom.xml b/device-detection/device-detection.cloud/pom.xml index 4e6c839b7..d30b25a7a 100644 --- a/device-detection/device-detection.cloud/pom.xml +++ b/device-detection/device-detection.cloud/pom.xml @@ -11,7 +11,7 @@ device-detection.cloud 51Degrees :: Device Detection :: Cloud - Cloud-based device detection for Java that uses the 51Degrees cloud service via the Pipeline API. Parses HTTP headers to identify device hardware, operating systems, browsers, and crawlers. + Device Detection and User-Agent parser for Java, using the 51Degrees cloud service. Detects the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Needs a Resource Key that says which properties to return. Built on the 51Degrees Pipeline API. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=device-detection.cloud-pom.xml&utm_term=url diff --git a/device-detection/device-detection.hash.engine.on-premise/pom.xml b/device-detection/device-detection.hash.engine.on-premise/pom.xml index 87250bfe8..5ea6827d5 100644 --- a/device-detection/device-detection.hash.engine.on-premise/pom.xml +++ b/device-detection/device-detection.hash.engine.on-premise/pom.xml @@ -11,7 +11,7 @@ device-detection.hash.engine.on-premise 51Degrees :: Device Detection :: Hash :: On Premise - High-performance on-premise hash-based device detection engine for Java, built for the 51Degrees Pipeline API. Parses HTTP headers locally to identify device hardware, operating systems, browsers, and crawlers, with no external service calls. + On-premise Device Detection engine and User-Agent parser for Java. Reads a 51Degrees Hash data file on your server to detect the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Built on the 51Degrees Pipeline API. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=device-detection.hash.engine.on-premise-pom.xml&utm_term=url diff --git a/device-detection/device-detection/pom.xml b/device-detection/device-detection/pom.xml index 7ffa7b7d3..bee6212ae 100644 --- a/device-detection/device-detection/pom.xml +++ b/device-detection/device-detection/pom.xml @@ -12,7 +12,7 @@ device-detection 51Degrees :: Device Detection - Parse HTTP headers to detect the device type, model, OS, browser, and crawler information. This is an alternative to popular UAParser, DeviceAtlas, and WURFL packages. + Device Detection and User-Agent parser for Java. Detects the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Works on-premise with a data file or in the cloud. Built on the 51Degrees Pipeline API. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=device-detection-pom.xml&utm_term=url diff --git a/ip-intelligence/ip-intelligence.cloud/pom.xml b/ip-intelligence/ip-intelligence.cloud/pom.xml index 9a1d434f4..15c58d323 100644 --- a/ip-intelligence/ip-intelligence.cloud/pom.xml +++ b/ip-intelligence/ip-intelligence.cloud/pom.xml @@ -11,7 +11,7 @@ ip-intelligence.cloud 51Degrees :: IP Intelligence :: Cloud - Provides IP Intelligence for the 51Degrees Pipeline API using the 51Degrees Cloud service. This can be used as an alternative to legacy IP Intelligence services such as MaxMind or IPinfo. + IP Intelligence and IP geolocation for Java, using the 51Degrees cloud service. Finds an IP address's likely location (country, region, town, and coordinates), connection type, and network. Needs a Resource Key that says which properties to return. Built on the 51Degrees Pipeline API. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=ip-intelligence.cloud-pom.xml&utm_term=url diff --git a/ip-intelligence/ip-intelligence.engine.on-premise/pom.xml b/ip-intelligence/ip-intelligence.engine.on-premise/pom.xml index 00b37b646..82f5983ed 100644 --- a/ip-intelligence/ip-intelligence.engine.on-premise/pom.xml +++ b/ip-intelligence/ip-intelligence.engine.on-premise/pom.xml @@ -11,7 +11,7 @@ ip-intelligence.engine.on-premise 51Degrees :: IP Intelligence :: On Premise - Provides the On-premise IP Intelligence engine for the 51Degrees Pipeline API. This can be used as an alternative to legacy IP Intelligence services such as MaxMind or IPinfo. + On-premise IP Intelligence and IP geolocation engine for Java. Reads a 51Degrees IP Intelligence data file on your server to find an IP address's likely location (country, region, town, and coordinates), connection type, and network. Built on the 51Degrees Pipeline API. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=ip-intelligence.engine.on-premise-pom.xml&utm_term=url diff --git a/ip-intelligence/ip-intelligence/pom.xml b/ip-intelligence/ip-intelligence/pom.xml index b22ba399b..a3e4d86f4 100644 --- a/ip-intelligence/ip-intelligence/pom.xml +++ b/ip-intelligence/ip-intelligence/pom.xml @@ -12,7 +12,7 @@ ip-intelligence 51Degrees :: IP Intelligence - Provides IP Intelligence for the 51Degrees Pipeline API. This can be used as an alternative to legacy IP Intelligence services such as MaxMind or IPinfo. + IP Intelligence and IP geolocation for Java. Finds an IP address's likely location (country, region, town, and coordinates), connection type, and network. Works on-premise with a data file or in the cloud. Built on the 51Degrees Pipeline API. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=ip-intelligence-pom.xml&utm_term=url From bd913998c6ed8ba9713c5789228063f874090d4c Mon Sep 17 00:00:00 2001 From: James Rosewell Date: Tue, 3 Nov 2026 14:17:05 +0000 Subject: [PATCH 2/5] Source links point at this repository instead of the archived ones The scm url, connection, and developerConnection in the pipeline, device-detection, ip-intelligence, and location parent poms pointed at pipeline-java, device-detection-java, ip-intelligence-java, and location-java. Those repositories are archived, so the source link on each package page was a dead end. They now point at 51degrees-java. The url keeps its https form and the connection its git:// form. The developerConnection named info@51degrees.com as its host rather than GitHub, so it now uses the https form of this repository. --- device-detection/pom.xml | 6 +++--- ip-intelligence/pom.xml | 6 +++--- location/pom.xml | 6 +++--- pipeline/pom.xml | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/device-detection/pom.xml b/device-detection/pom.xml index 8aef20aea..dc985ebf2 100644 --- a/device-detection/pom.xml +++ b/device-detection/pom.xml @@ -325,8 +325,8 @@ - https://github.com/51Degrees/device-detection-java - scm:git:git://github.com/51Degrees/device-detection-java.git - scm:git:info@51degrees.com:51Degrees/device-detection-java.git + https://github.com/51Degrees/51degrees-java + scm:git:git://github.com/51Degrees/51degrees-java.git + scm:git:https://github.com/51Degrees/51degrees-java.git diff --git a/ip-intelligence/pom.xml b/ip-intelligence/pom.xml index 4327c14b2..4061f4685 100644 --- a/ip-intelligence/pom.xml +++ b/ip-intelligence/pom.xml @@ -387,8 +387,8 @@ - https://github.com/51Degrees/ip-intelligence-java - scm:git:git://github.com/51Degrees/ip-intelligence-java.git - scm:git:info@51degrees.com:51Degrees/ip-intelligence-java.git + https://github.com/51Degrees/51degrees-java + scm:git:git://github.com/51Degrees/51degrees-java.git + scm:git:https://github.com/51Degrees/51degrees-java.git diff --git a/location/pom.xml b/location/pom.xml index ac0e576ed..e5a4fe232 100644 --- a/location/pom.xml +++ b/location/pom.xml @@ -310,8 +310,8 @@ - https://github.com/51Degrees/location-java - scm:git:git://github.com/51Degrees/location-java.git - scm:git:info@51degrees.com:51Degrees/location-java.git + https://github.com/51Degrees/51degrees-java + scm:git:git://github.com/51Degrees/51degrees-java.git + scm:git:https://github.com/51Degrees/51degrees-java.git diff --git a/pipeline/pom.xml b/pipeline/pom.xml index 868a93a44..4e4de46b8 100644 --- a/pipeline/pom.xml +++ b/pipeline/pom.xml @@ -372,8 +372,8 @@ - https://github.com/51Degrees/pipeline-java - scm:git:git://github.com/51Degrees/pipeline-java.git - scm:git:info@51degrees.com:51Degrees/pipeline-java.git + https://github.com/51Degrees/51degrees-java + scm:git:git://github.com/51Degrees/51degrees-java.git + scm:git:https://github.com/51Degrees/51degrees-java.git From 7d8b2091582e3f77b8368e27a34fbffe9a7da1b7 Mon Sep 17 00:00:00 2001 From: James Rosewell Date: Tue, 3 Nov 2026 14:25:23 +0000 Subject: [PATCH 3/5] Source links stay at the repository root and use https The four parent poms now set child.scm.connection.inherit.append.path, child.scm.developerConnection.inherit.append.path, and child.scm.url.inherit.append.path to false on scm. Without them Maven adds each child's artifactId to the inherited links, so the page for a package such as com.51degrees:device-detection linked to a path that GitHub answers with 404. The attributes need Maven 3.6.1 or later, and every runner image in ci/options.json lists Maven 3.9.12 or later. The connection now uses https, because GitHub permanently turned off the unencrypted git:// protocol on March 15, 2022. --- device-detection/pom.xml | 6 ++++-- ip-intelligence/pom.xml | 6 ++++-- location/pom.xml | 6 ++++-- pipeline/pom.xml | 6 ++++-- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/device-detection/pom.xml b/device-detection/pom.xml index dc985ebf2..068dd455e 100644 --- a/device-detection/pom.xml +++ b/device-detection/pom.xml @@ -324,9 +324,11 @@ - + https://github.com/51Degrees/51degrees-java - scm:git:git://github.com/51Degrees/51degrees-java.git + scm:git:https://github.com/51Degrees/51degrees-java.git scm:git:https://github.com/51Degrees/51degrees-java.git diff --git a/ip-intelligence/pom.xml b/ip-intelligence/pom.xml index 4061f4685..548779254 100644 --- a/ip-intelligence/pom.xml +++ b/ip-intelligence/pom.xml @@ -386,9 +386,11 @@ - + https://github.com/51Degrees/51degrees-java - scm:git:git://github.com/51Degrees/51degrees-java.git + scm:git:https://github.com/51Degrees/51degrees-java.git scm:git:https://github.com/51Degrees/51degrees-java.git diff --git a/location/pom.xml b/location/pom.xml index e5a4fe232..4d76d01e9 100644 --- a/location/pom.xml +++ b/location/pom.xml @@ -309,9 +309,11 @@ https://opensource.org/licenses/EUPL-1.2 - + https://github.com/51Degrees/51degrees-java - scm:git:git://github.com/51Degrees/51degrees-java.git + scm:git:https://github.com/51Degrees/51degrees-java.git scm:git:https://github.com/51Degrees/51degrees-java.git diff --git a/pipeline/pom.xml b/pipeline/pom.xml index 4e4de46b8..dffff7ba0 100644 --- a/pipeline/pom.xml +++ b/pipeline/pom.xml @@ -371,9 +371,11 @@ - + https://github.com/51Degrees/51degrees-java - scm:git:git://github.com/51Degrees/51degrees-java.git + scm:git:https://github.com/51Degrees/51degrees-java.git scm:git:https://github.com/51Degrees/51degrees-java.git From e6e2d974012a3bcf826bb3af340a68aab041d8de Mon Sep 17 00:00:00 2001 From: James Rosewell Date: Tue, 3 Nov 2026 14:53:08 +0000 Subject: [PATCH 4/5] Descriptions name the products these packages are an alternative to Each Device Detection description now ends "An alternative to UAParser, DeviceAtlas, and WURFL." and each IP Intelligence description ends "An alternative to MaxMind and IPinfo.", so that people who search for those products find these packages. --- device-detection/device-detection.cloud/pom.xml | 2 +- .../device-detection.hash.engine.on-premise/pom.xml | 2 +- device-detection/device-detection/pom.xml | 2 +- ip-intelligence/ip-intelligence.cloud/pom.xml | 2 +- ip-intelligence/ip-intelligence.engine.on-premise/pom.xml | 2 +- ip-intelligence/ip-intelligence/pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/device-detection/device-detection.cloud/pom.xml b/device-detection/device-detection.cloud/pom.xml index d30b25a7a..b1371781c 100644 --- a/device-detection/device-detection.cloud/pom.xml +++ b/device-detection/device-detection.cloud/pom.xml @@ -11,7 +11,7 @@ device-detection.cloud 51Degrees :: Device Detection :: Cloud - Device Detection and User-Agent parser for Java, using the 51Degrees cloud service. Detects the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Needs a Resource Key that says which properties to return. Built on the 51Degrees Pipeline API. + Device Detection and User-Agent parser for Java, using the 51Degrees cloud service. Detects the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Needs a Resource Key that says which properties to return. Built on the 51Degrees Pipeline API. An alternative to UAParser, DeviceAtlas, and WURFL. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=device-detection.cloud-pom.xml&utm_term=url diff --git a/device-detection/device-detection.hash.engine.on-premise/pom.xml b/device-detection/device-detection.hash.engine.on-premise/pom.xml index 5ea6827d5..555c7a53b 100644 --- a/device-detection/device-detection.hash.engine.on-premise/pom.xml +++ b/device-detection/device-detection.hash.engine.on-premise/pom.xml @@ -11,7 +11,7 @@ device-detection.hash.engine.on-premise 51Degrees :: Device Detection :: Hash :: On Premise - On-premise Device Detection engine and User-Agent parser for Java. Reads a 51Degrees Hash data file on your server to detect the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Built on the 51Degrees Pipeline API. + On-premise Device Detection engine and User-Agent parser for Java. Reads a 51Degrees Hash data file on your server to detect the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Built on the 51Degrees Pipeline API. An alternative to UAParser, DeviceAtlas, and WURFL. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=device-detection.hash.engine.on-premise-pom.xml&utm_term=url diff --git a/device-detection/device-detection/pom.xml b/device-detection/device-detection/pom.xml index bee6212ae..f8084076a 100644 --- a/device-detection/device-detection/pom.xml +++ b/device-detection/device-detection/pom.xml @@ -12,7 +12,7 @@ device-detection 51Degrees :: Device Detection - Device Detection and User-Agent parser for Java. Detects the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Works on-premise with a data file or in the cloud. Built on the 51Degrees Pipeline API. + Device Detection and User-Agent parser for Java. Detects the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Works on-premise with a data file or in the cloud. Built on the 51Degrees Pipeline API. An alternative to UAParser, DeviceAtlas, and WURFL. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=device-detection-pom.xml&utm_term=url diff --git a/ip-intelligence/ip-intelligence.cloud/pom.xml b/ip-intelligence/ip-intelligence.cloud/pom.xml index 15c58d323..ebae5666b 100644 --- a/ip-intelligence/ip-intelligence.cloud/pom.xml +++ b/ip-intelligence/ip-intelligence.cloud/pom.xml @@ -11,7 +11,7 @@ ip-intelligence.cloud 51Degrees :: IP Intelligence :: Cloud - IP Intelligence and IP geolocation for Java, using the 51Degrees cloud service. Finds an IP address's likely location (country, region, town, and coordinates), connection type, and network. Needs a Resource Key that says which properties to return. Built on the 51Degrees Pipeline API. + IP Intelligence and IP geolocation for Java, using the 51Degrees cloud service. Finds an IP address's likely location (country, region, town, and coordinates), connection type, and network. Needs a Resource Key that says which properties to return. Built on the 51Degrees Pipeline API. An alternative to MaxMind and IPinfo. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=ip-intelligence.cloud-pom.xml&utm_term=url diff --git a/ip-intelligence/ip-intelligence.engine.on-premise/pom.xml b/ip-intelligence/ip-intelligence.engine.on-premise/pom.xml index 82f5983ed..a4b0b323c 100644 --- a/ip-intelligence/ip-intelligence.engine.on-premise/pom.xml +++ b/ip-intelligence/ip-intelligence.engine.on-premise/pom.xml @@ -11,7 +11,7 @@ ip-intelligence.engine.on-premise 51Degrees :: IP Intelligence :: On Premise - On-premise IP Intelligence and IP geolocation engine for Java. Reads a 51Degrees IP Intelligence data file on your server to find an IP address's likely location (country, region, town, and coordinates), connection type, and network. Built on the 51Degrees Pipeline API. + On-premise IP Intelligence and IP geolocation engine for Java. Reads a 51Degrees IP Intelligence data file on your server to find an IP address's likely location (country, region, town, and coordinates), connection type, and network. Built on the 51Degrees Pipeline API. An alternative to MaxMind and IPinfo. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=ip-intelligence.engine.on-premise-pom.xml&utm_term=url diff --git a/ip-intelligence/ip-intelligence/pom.xml b/ip-intelligence/ip-intelligence/pom.xml index a3e4d86f4..b6424103b 100644 --- a/ip-intelligence/ip-intelligence/pom.xml +++ b/ip-intelligence/ip-intelligence/pom.xml @@ -12,7 +12,7 @@ ip-intelligence 51Degrees :: IP Intelligence - IP Intelligence and IP geolocation for Java. Finds an IP address's likely location (country, region, town, and coordinates), connection type, and network. Works on-premise with a data file or in the cloud. Built on the 51Degrees Pipeline API. + IP Intelligence and IP geolocation for Java. Finds an IP address's likely location (country, region, town, and coordinates), connection type, and network. Works on-premise with a data file or in the cloud. Built on the 51Degrees Pipeline API. An alternative to MaxMind and IPinfo. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=ip-intelligence-pom.xml&utm_term=url From db9f06ca8dd9c38a222944612471956bd14200c7 Mon Sep 17 00:00:00 2001 From: James Rosewell Date: Tue, 3 Nov 2026 14:57:22 +0000 Subject: [PATCH 5/5] Name UAParser.js in the Device Detection descriptions The sentence now reads "An alternative to UAParser.js, DeviceAtlas, and WURFL.", which names the JavaScript library and cannot be read as the 51Degrees UAParser fork. --- device-detection/device-detection.cloud/pom.xml | 2 +- .../device-detection.hash.engine.on-premise/pom.xml | 2 +- device-detection/device-detection/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/device-detection/device-detection.cloud/pom.xml b/device-detection/device-detection.cloud/pom.xml index b1371781c..8d7727a5a 100644 --- a/device-detection/device-detection.cloud/pom.xml +++ b/device-detection/device-detection.cloud/pom.xml @@ -11,7 +11,7 @@ device-detection.cloud 51Degrees :: Device Detection :: Cloud - Device Detection and User-Agent parser for Java, using the 51Degrees cloud service. Detects the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Needs a Resource Key that says which properties to return. Built on the 51Degrees Pipeline API. An alternative to UAParser, DeviceAtlas, and WURFL. + Device Detection and User-Agent parser for Java, using the 51Degrees cloud service. Detects the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Needs a Resource Key that says which properties to return. Built on the 51Degrees Pipeline API. An alternative to UAParser.js, DeviceAtlas, and WURFL. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=device-detection.cloud-pom.xml&utm_term=url diff --git a/device-detection/device-detection.hash.engine.on-premise/pom.xml b/device-detection/device-detection.hash.engine.on-premise/pom.xml index 555c7a53b..913964ba3 100644 --- a/device-detection/device-detection.hash.engine.on-premise/pom.xml +++ b/device-detection/device-detection.hash.engine.on-premise/pom.xml @@ -11,7 +11,7 @@ device-detection.hash.engine.on-premise 51Degrees :: Device Detection :: Hash :: On Premise - On-premise Device Detection engine and User-Agent parser for Java. Reads a 51Degrees Hash data file on your server to detect the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Built on the 51Degrees Pipeline API. An alternative to UAParser, DeviceAtlas, and WURFL. + On-premise Device Detection engine and User-Agent parser for Java. Reads a 51Degrees Hash data file on your server to detect the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Built on the 51Degrees Pipeline API. An alternative to UAParser.js, DeviceAtlas, and WURFL. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=device-detection.hash.engine.on-premise-pom.xml&utm_term=url diff --git a/device-detection/device-detection/pom.xml b/device-detection/device-detection/pom.xml index f8084076a..264ba57de 100644 --- a/device-detection/device-detection/pom.xml +++ b/device-detection/device-detection/pom.xml @@ -12,7 +12,7 @@ device-detection 51Degrees :: Device Detection - Device Detection and User-Agent parser for Java. Detects the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Works on-premise with a data file or in the cloud. Built on the 51Degrees Pipeline API. An alternative to UAParser, DeviceAtlas, and WURFL. + Device Detection and User-Agent parser for Java. Detects the device type and model, browser, operating system, and crawlers from the User-Agent and User-Agent Client Hints. Works on-premise with a data file or in the cloud. Built on the 51Degrees Pipeline API. An alternative to UAParser.js, DeviceAtlas, and WURFL. https://51degrees.com?utm_source=maven&utm_medium=package&utm_campaign=51degrees-java&utm_content=device-detection-pom.xml&utm_term=url