diff --git a/plugins/ejml/build.xml b/plugins/ejml/build.xml
index e8661fc82..c236cfd0a 100644
--- a/plugins/ejml/build.xml
+++ b/plugins/ejml/build.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<project name="ejml" default="dist" basedir=".">
+<project name="ejml" default="dist" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
     <!-- enter the SVN commit message -->
     <property name="commit.message" value="Commit message"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
@@ -15,4 +15,8 @@
     <!-- ** include targets that all plugins have in common ** -->
     <import file="../build-common.xml"/>
 
+    <target name="pre-compile" depends="fetch_dependencies">
+        <!-- include fetch_dependencies task -->
+    </target>
+
 </project>
diff --git a/plugins/ejml/ivy.xml b/plugins/ejml/ivy.xml
new file mode 100644
index 000000000..53a3aa167
--- /dev/null
+++ b/plugins/ejml/ivy.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- License: GPL. For details, see LICENSE file. -->
+<ivy-module version="2.0">
+    <info organisation="org.openstreetmap.josm.plugins" module="ejml"/>
+    <dependencies>
+        <!-- We included everything in 0.34, including experimental -->
+        <dependency org="org.ejml" name="ejml-all" rev="0.34"/>
+        <dependency org="org.ejml" name="ejml-experimental" rev="0.34"/>
+        <!-- junit is included as a test dependency in 0.34. It does not appear in 0.41, so can be removed on ejml update. -->
+        <exclude org="junit"/>
+    </dependencies>
+</ivy-module>
diff --git a/plugins/ejml/lib/ejml-cdense-0.34-javadoc.jar b/plugins/ejml/lib/ejml-cdense-0.34-javadoc.jar
deleted file mode 100644
index 00807af19..000000000
Binary files a/plugins/ejml/lib/ejml-cdense-0.34-javadoc.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-cdense-0.34-sources.jar b/plugins/ejml/lib/ejml-cdense-0.34-sources.jar
deleted file mode 100644
index f220b5bdd..000000000
Binary files a/plugins/ejml/lib/ejml-cdense-0.34-sources.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-cdense-0.34.jar b/plugins/ejml/lib/ejml-cdense-0.34.jar
deleted file mode 100644
index bf3adb3ee..000000000
Binary files a/plugins/ejml/lib/ejml-cdense-0.34.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-core-0.34-javadoc.jar b/plugins/ejml/lib/ejml-core-0.34-javadoc.jar
deleted file mode 100644
index b295fe660..000000000
Binary files a/plugins/ejml/lib/ejml-core-0.34-javadoc.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-core-0.34-sources.jar b/plugins/ejml/lib/ejml-core-0.34-sources.jar
deleted file mode 100644
index ec116aff3..000000000
Binary files a/plugins/ejml/lib/ejml-core-0.34-sources.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-core-0.34.jar b/plugins/ejml/lib/ejml-core-0.34.jar
deleted file mode 100644
index a67d5144a..000000000
Binary files a/plugins/ejml/lib/ejml-core-0.34.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-ddense-0.34-javadoc.jar b/plugins/ejml/lib/ejml-ddense-0.34-javadoc.jar
deleted file mode 100644
index 0fa7d3f7f..000000000
Binary files a/plugins/ejml/lib/ejml-ddense-0.34-javadoc.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-ddense-0.34-sources.jar b/plugins/ejml/lib/ejml-ddense-0.34-sources.jar
deleted file mode 100644
index 44d04663e..000000000
Binary files a/plugins/ejml/lib/ejml-ddense-0.34-sources.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-ddense-0.34.jar b/plugins/ejml/lib/ejml-ddense-0.34.jar
deleted file mode 100644
index c239abded..000000000
Binary files a/plugins/ejml/lib/ejml-ddense-0.34.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-dsparse-0.34-javadoc.jar b/plugins/ejml/lib/ejml-dsparse-0.34-javadoc.jar
deleted file mode 100644
index 605152432..000000000
Binary files a/plugins/ejml/lib/ejml-dsparse-0.34-javadoc.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-dsparse-0.34-sources.jar b/plugins/ejml/lib/ejml-dsparse-0.34-sources.jar
deleted file mode 100644
index 93c9b2d45..000000000
Binary files a/plugins/ejml/lib/ejml-dsparse-0.34-sources.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-dsparse-0.34.jar b/plugins/ejml/lib/ejml-dsparse-0.34.jar
deleted file mode 100644
index 0cbc17171..000000000
Binary files a/plugins/ejml/lib/ejml-dsparse-0.34.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-experimental-0.34-javadoc.jar b/plugins/ejml/lib/ejml-experimental-0.34-javadoc.jar
deleted file mode 100644
index a4854d736..000000000
Binary files a/plugins/ejml/lib/ejml-experimental-0.34-javadoc.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-experimental-0.34-sources.jar b/plugins/ejml/lib/ejml-experimental-0.34-sources.jar
deleted file mode 100644
index 2e3c64498..000000000
Binary files a/plugins/ejml/lib/ejml-experimental-0.34-sources.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-experimental-0.34.jar b/plugins/ejml/lib/ejml-experimental-0.34.jar
deleted file mode 100644
index 2024ad94f..000000000
Binary files a/plugins/ejml/lib/ejml-experimental-0.34.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-fdense-0.34-javadoc.jar b/plugins/ejml/lib/ejml-fdense-0.34-javadoc.jar
deleted file mode 100644
index c5be38fd8..000000000
Binary files a/plugins/ejml/lib/ejml-fdense-0.34-javadoc.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-fdense-0.34-sources.jar b/plugins/ejml/lib/ejml-fdense-0.34-sources.jar
deleted file mode 100644
index 3c939474c..000000000
Binary files a/plugins/ejml/lib/ejml-fdense-0.34-sources.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-fdense-0.34.jar b/plugins/ejml/lib/ejml-fdense-0.34.jar
deleted file mode 100644
index 48937b159..000000000
Binary files a/plugins/ejml/lib/ejml-fdense-0.34.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-simple-0.34-javadoc.jar b/plugins/ejml/lib/ejml-simple-0.34-javadoc.jar
deleted file mode 100644
index 1e801dc5c..000000000
Binary files a/plugins/ejml/lib/ejml-simple-0.34-javadoc.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-simple-0.34-sources.jar b/plugins/ejml/lib/ejml-simple-0.34-sources.jar
deleted file mode 100644
index 396c0a2a0..000000000
Binary files a/plugins/ejml/lib/ejml-simple-0.34-sources.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-simple-0.34.jar b/plugins/ejml/lib/ejml-simple-0.34.jar
deleted file mode 100644
index cb06f76fc..000000000
Binary files a/plugins/ejml/lib/ejml-simple-0.34.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-zdense-0.34-javadoc.jar b/plugins/ejml/lib/ejml-zdense-0.34-javadoc.jar
deleted file mode 100644
index a5fa436f9..000000000
Binary files a/plugins/ejml/lib/ejml-zdense-0.34-javadoc.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-zdense-0.34-sources.jar b/plugins/ejml/lib/ejml-zdense-0.34-sources.jar
deleted file mode 100644
index 8ebf83b93..000000000
Binary files a/plugins/ejml/lib/ejml-zdense-0.34-sources.jar and /dev/null differ
diff --git a/plugins/ejml/lib/ejml-zdense-0.34.jar b/plugins/ejml/lib/ejml-zdense-0.34.jar
deleted file mode 100644
index b46fcf1aa..000000000
Binary files a/plugins/ejml/lib/ejml-zdense-0.34.jar and /dev/null differ
