diff --git a/lib/manager/maven/extract.js b/lib/manager/maven/extract.js
index f4d138c0544da1be2820bd330a0c989910f43ffa..c91af4b3d4fd56bd0d091df965a61ffdf19d753d 100644
--- a/lib/manager/maven/extract.js
+++ b/lib/manager/maven/extract.js
@@ -135,8 +135,31 @@ function extractDependencies(raw) {
   return result;
 }
 
+async function extractAllPackageFiles(config, packageFiles) {
+  const mavenFiles = [];
+  for (const packageFile of packageFiles) {
+    const content = await platform.getFile(packageFile);
+    if (content) {
+      const deps = extractDependencies(content);
+      if (deps) {
+        mavenFiles.push({
+          packageFile,
+          manager: 'maven',
+          ...deps,
+        });
+      } else {
+        logger.info({ packageFile }, 'can not read dependencies');
+      }
+    } else {
+      logger.info({ packageFile }, 'packageFile has no content');
+    }
+  }
+  return mavenFiles;
+}
+
 module.exports = {
   containsPlaceholder,
   parsePom,
   extractDependencies,
+  extractAllPackageFiles,
 };
diff --git a/lib/manager/maven/index.js b/lib/manager/maven/index.js
index 550c51e6ec1a3a923a6026885a446bd70ae54819..05899328375186e1615f67d667f7e5d80a93c568 100644
--- a/lib/manager/maven/index.js
+++ b/lib/manager/maven/index.js
@@ -1,44 +1,5 @@
-const { extractDependencies } = require('./extract');
-
-async function extractAllPackageFiles(config, packageFiles) {
-  const mavenFiles = [];
-  for (const packageFile of packageFiles) {
-    const content = await platform.getFile(packageFile);
-    if (content) {
-      const deps = extractDependencies(content);
-      if (deps) {
-        mavenFiles.push({
-          packageFile,
-          manager: 'maven',
-          ...deps,
-        });
-      } else {
-        logger.info({ packageFile }, 'can not read dependencies');
-      }
-    } else {
-      logger.info({ packageFile }, 'packageFile has no content');
-    }
-  }
-  return mavenFiles;
-}
-
-function updateDependency(fileContent, upgrade) {
-  const { currentValue, newValue, fileReplacePosition } = upgrade;
-  const leftPart = fileContent.slice(0, fileReplacePosition);
-  const rightPart = fileContent.slice(fileReplacePosition);
-  const versionClosePosition = rightPart.indexOf('</');
-  const restPart = rightPart.slice(versionClosePosition);
-  const versionPart = rightPart.slice(0, versionClosePosition);
-  const version = versionPart.trim();
-  if (version === newValue) {
-    return fileContent;
-  }
-  if (version === currentValue) {
-    const replacedPart = versionPart.replace(currentValue, newValue);
-    return leftPart + replacedPart + restPart;
-  }
-  return null;
-}
+const { extractAllPackageFiles } = require('./extract');
+const { updateDependency } = require('./update');
 
 module.exports = {
   extractAllPackageFiles,
diff --git a/lib/manager/maven/update.js b/lib/manager/maven/update.js
new file mode 100644
index 0000000000000000000000000000000000000000..dc21a32afa4662ee7c6e96920b6b74e08bb7a87e
--- /dev/null
+++ b/lib/manager/maven/update.js
@@ -0,0 +1,21 @@
+module.exports = {
+  updateDependency,
+};
+
+function updateDependency(fileContent, upgrade) {
+  const { currentValue, newValue, fileReplacePosition } = upgrade;
+  const leftPart = fileContent.slice(0, fileReplacePosition);
+  const rightPart = fileContent.slice(fileReplacePosition);
+  const versionClosePosition = rightPart.indexOf('</');
+  const restPart = rightPart.slice(versionClosePosition);
+  const versionPart = rightPart.slice(0, versionClosePosition);
+  const version = versionPart.trim();
+  if (version === newValue) {
+    return fileContent;
+  }
+  if (version === currentValue) {
+    const replacedPart = versionPart.replace(currentValue, newValue);
+    return leftPart + replacedPart + restPart;
+  }
+  return null;
+}