diff --git a/lib/datasource/maven/index.js b/lib/datasource/maven/index.js
index c3bdff6df3d9ad3970b6dd4e9eec9573e862821a..463587f7bed2033418b8a8cc064d420ee10c725f 100644
--- a/lib/datasource/maven/index.js
+++ b/lib/datasource/maven/index.js
@@ -69,12 +69,13 @@ async function getPkgReleases({ lookupName, registryUrls }) {
 }
 
 function getDependencyParts(lookupName) {
-  const [group, name] = lookupName.split('/');
+  const [group, name] = lookupName.split(':');
+  const dependencyUrl = `${group.replace(/\./g, '/')}/${name}`;
   return {
-    display: lookupName.replace('/', ':'),
+    display: lookupName,
     group,
     name,
-    dependencyUrl: generateMavenUrl(lookupName),
+    dependencyUrl,
   };
 }
 
@@ -150,11 +151,6 @@ async function downloadHttpProtocol(pkgUrl) {
   return raw.body;
 }
 
-function generateMavenUrl(lookupName) {
-  const [group, name] = lookupName.split('/');
-  return group.replace(/\./g, '/') + `/${name}`;
-}
-
 function isMavenCentral(pkgUrl) {
   return pkgUrl.host === 'central.maven.org';
 }
diff --git a/lib/manager/maven/extract.js b/lib/manager/maven/extract.js
index e35460f12b9c7808d0aa4fcc3478221ae38f6312..583a9819ea2a0e9086668e2027c554607ce2cdd8 100644
--- a/lib/manager/maven/extract.js
+++ b/lib/manager/maven/extract.js
@@ -24,7 +24,7 @@ function depFromNode(node) {
   const artifactId = node.valueWithPath('artifactId');
   const currentValue = node.valueWithPath('version');
   if (groupId && artifactId && currentValue) {
-    const depName = `${groupId}/${artifactId}`;
+    const depName = `${groupId}:${artifactId}`;
     const result = {
       depName,
       currentValue,
diff --git a/test/datasource/maven.spec.js b/test/datasource/maven.spec.js
index 56b42d72a10d8481edb742e57e41d7f5a86ef0fe..efc44f353ff061edc0434db77bd563890d19016e 100644
--- a/test/datasource/maven.spec.js
+++ b/test/datasource/maven.spec.js
@@ -53,7 +53,7 @@ describe('datasource/maven', () => {
     it('should return empty if library is not found', async () => {
       const releases = await datasource.getPkgReleases({
         ...config,
-        lookupName: 'unknown/unknown',
+        lookupName: 'unknown:unknown',
         registryUrls: [
           'file://test/_fixtures/gradle/maven/repo1.maven.org/maven2/',
         ],
@@ -64,7 +64,7 @@ describe('datasource/maven', () => {
     it('should simply return all versions of a specific library', async () => {
       const releases = await datasource.getPkgReleases({
         ...config,
-        lookupName: 'org.hamcrest/hamcrest-core',
+        lookupName: 'org.hamcrest:hamcrest-core',
         registryUrls: [
           'file://test/_fixtures/gradle/maven/repo1.maven.org/maven2/',
           'file://test/_fixtures/gradle/maven/custom_maven_repo/maven2/',
@@ -86,7 +86,7 @@ describe('datasource/maven', () => {
     it('should return versions in all repositories for a specific library', async () => {
       const releases = await datasource.getPkgReleases({
         ...config,
-        lookupName: 'mysql/mysql-connector-java',
+        lookupName: 'mysql:mysql-connector-java',
         registryUrls: [
           'file://test/_fixtures/gradle/maven/repo1.maven.org/maven2/',
           'file://test/_fixtures/gradle/maven/custom_maven_repo/maven2/',
@@ -100,7 +100,7 @@ describe('datasource/maven', () => {
     it('should return all versions of a specific library for http repositories', async () => {
       const releases = await datasource.getPkgReleases({
         ...config,
-        lookupName: 'mysql/mysql-connector-java',
+        lookupName: 'mysql:mysql-connector-java',
         registryUrls: ['http://central.maven.org/maven2/'],
       });
       expect(releases.releases).toEqual(generateReleases(MYSQL_VERSIONS));
@@ -109,7 +109,7 @@ describe('datasource/maven', () => {
     it('should return all versions of a specific library if a repository fails', async () => {
       const releases = await datasource.getPkgReleases({
         ...config,
-        lookupName: 'mysql/mysql-connector-java',
+        lookupName: 'mysql:mysql-connector-java',
         registryUrls: [
           'http://central.maven.org/maven2/',
           'http://failed_repo/',
@@ -130,7 +130,7 @@ describe('datasource/maven', () => {
       try {
         await datasource.getPkgReleases({
           ...config,
-          lookupName: 'org/artifact',
+          lookupName: 'org:artifact',
           registryUrls: ['http://central.maven.org/maven2/'],
         });
       } catch (e) {
@@ -141,7 +141,7 @@ describe('datasource/maven', () => {
     it('should return all versions of a specific library if a repository fails because invalid protocol', async () => {
       const releases = await datasource.getPkgReleases({
         ...config,
-        lookupName: 'mysql/mysql-connector-java',
+        lookupName: 'mysql:mysql-connector-java',
         registryUrls: [
           'http://central.maven.org/maven2/',
           'http://failed_repo/',
@@ -167,7 +167,7 @@ describe('datasource/maven', () => {
         .reply(200, invalidMavenMetadata);
       const releases = await datasource.getPkgReleases({
         ...config,
-        lookupName: 'mysql/mysql-connector-java',
+        lookupName: 'mysql:mysql-connector-java',
         registryUrls: [
           'http://central.maven.org/maven2/',
           'http://invalid_metadata_repo/maven2/',
@@ -185,7 +185,7 @@ describe('datasource/maven', () => {
         .reply(200, invalidMavenMetadata);
       const releases = await datasource.getPkgReleases({
         ...config,
-        lookupName: 'mysql/mysql-connector-java',
+        lookupName: 'mysql:mysql-connector-java',
         registryUrls: [
           'http://central.maven.org/maven2/',
           'http://invalid_metadata_repo/maven2/',
@@ -197,7 +197,7 @@ describe('datasource/maven', () => {
     it('should return all versions of a specific library if a repository does not end with /', async () => {
       const releases = await datasource.getPkgReleases({
         ...config,
-        lookupName: 'mysql/mysql-connector-java',
+        lookupName: 'mysql:mysql-connector-java',
         registryUrls: ['http://central.maven.org/maven2'],
       });
       expect(releases).not.toBeNull();
@@ -206,7 +206,7 @@ describe('datasource/maven', () => {
     it('should return null if no repositories defined', async () => {
       const releases = await datasource.getPkgReleases({
         ...config,
-        lookupName: 'mysql/mysql-connector-java',
+        lookupName: 'mysql:mysql-connector-java',
       });
       expect(releases).toBeNull();
     });
diff --git a/test/manager/maven/__snapshots__/extract.spec.js.snap b/test/manager/maven/__snapshots__/extract.spec.js.snap
index 987c3ad64c4deb5ffd6dc13d24ffd76ba0a1194a..c896b7798167fd305c68b0c1f9e7524800faf86f 100644
--- a/test/manager/maven/__snapshots__/extract.spec.js.snap
+++ b/test/manager/maven/__snapshots__/extract.spec.js.snap
@@ -7,7 +7,7 @@ Object {
     Object {
       "currentValue": "42",
       "datasource": "maven",
-      "depName": "org.example/parent",
+      "depName": "org.example:parent",
       "fileReplacePosition": 186,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
@@ -16,7 +16,7 @@ Object {
     Object {
       "currentValue": "0.0.1",
       "datasource": "maven",
-      "depName": "org.example/foo",
+      "depName": "org.example:foo",
       "fileReplacePosition": 757,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
@@ -25,7 +25,7 @@ Object {
     Object {
       "currentValue": "1.0.0",
       "datasource": "maven",
-      "depName": "org.example/bar",
+      "depName": "org.example:bar",
       "fileReplacePosition": 905,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
@@ -34,7 +34,7 @@ Object {
     Object {
       "currentValue": "1.8.1",
       "datasource": "maven",
-      "depName": "org.apache.maven.scm/maven-scm-provider-gitexe",
+      "depName": "org.apache.maven.scm:maven-scm-provider-gitexe",
       "fileReplacePosition": 1337,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
@@ -42,23 +42,23 @@ Object {
     },
     Object {
       "currentValue": "0.0.1",
-      "depName": "org.example/\${artifact-id-placeholder}",
+      "depName": "org.example:\${artifact-id-placeholder}",
       "skipReason": "name-placeholder",
     },
     Object {
       "currentValue": "0.0.1",
-      "depName": "\${group-id-placeholder}/baz",
+      "depName": "\${group-id-placeholder}:baz",
       "skipReason": "name-placeholder",
     },
     Object {
       "currentValue": "\${resourceServerVersion}",
-      "depName": "org.example/quux",
+      "depName": "org.example:quux",
       "skipReason": "version-placeholder",
     },
     Object {
       "currentValue": "1.2.3",
       "datasource": "maven",
-      "depName": "org.example/quuz",
+      "depName": "org.example:quuz",
       "fileReplacePosition": 2529,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
@@ -66,18 +66,18 @@ Object {
     },
     Object {
       "currentValue": "it's not a version",
-      "depName": "org.example/quuuz",
+      "depName": "org.example:quuuz",
       "skipReason": "not-a-version",
     },
     Object {
       "currentValue": "\${profile-placeholder}",
-      "depName": "org.example/profile-artifact",
+      "depName": "org.example:profile-artifact",
       "skipReason": "version-placeholder",
     },
     Object {
       "currentValue": "2.17",
       "datasource": "maven",
-      "depName": "org.apache.maven.plugins/maven-checkstyle-plugin",
+      "depName": "org.apache.maven.plugins:maven-checkstyle-plugin",
       "fileReplacePosition": 3218,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
diff --git a/test/manager/maven/index.spec.js b/test/manager/maven/index.spec.js
index f86894ca106e6e872aa3c61e55d178fa79a15aae..38b53aba5b8ff59215250c1183b345e73f70cca5 100644
--- a/test/manager/maven/index.spec.js
+++ b/test/manager/maven/index.spec.js
@@ -10,7 +10,7 @@ const pomContent = fs.readFileSync(
   'utf8'
 );
 
-const findFn = ({ depName }) => depName === 'org.example/quuz';
+const findFn = ({ depName }) => depName === 'org.example:quuz';
 
 describe('manager/maven', () => {
   describe('extractAllPackageFiles', () => {