diff --git a/jbmc/regression/book-examples/BinarySearch/BinarySearch.class b/jbmc/regression/book-examples/BinarySearch/BinarySearch.class
deleted file mode 100644
index 4f72997d516..00000000000
Binary files a/jbmc/regression/book-examples/BinarySearch/BinarySearch.class and /dev/null differ
diff --git a/jbmc/regression/book-examples/BinarySearch/pom.xml b/jbmc/regression/book-examples/BinarySearch/pom.xml
new file mode 100644
index 00000000000..2b35936a565
--- /dev/null
+++ b/jbmc/regression/book-examples/BinarySearch/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.book-examples.BinarySearch
+ 1.0-SNAPSHOT
+
+
+ org.cprover.regression
+ regression.book-examples
+ 1.0-SNAPSHOT
+
+
+
+
+
+ maven-jar-plugin
+
+
+ default-jar
+ none
+
+
+
+
+
+
+
diff --git a/jbmc/regression/book-examples/BinarySearch/runtime_exception.desc b/jbmc/regression/book-examples/BinarySearch/runtime_exception.desc
index 5279b047b37..fc095ac4902 100644
--- a/jbmc/regression/book-examples/BinarySearch/runtime_exception.desc
+++ b/jbmc/regression/book-examples/BinarySearch/runtime_exception.desc
@@ -1,6 +1,6 @@
CORE
BinarySearch.binarySearch
- --throw-runtime-exceptions --unwind 2
+ --throw-runtime-exceptions --unwind 2 -cp target/classes
^EXIT=10$
^SIGNAL=0$
^VERIFICATION FAILED$
diff --git a/jbmc/regression/book-examples/BinarySearch/BinarySearch.java b/jbmc/regression/book-examples/BinarySearch/src/main/java/BinarySearch.java
similarity index 100%
rename from jbmc/regression/book-examples/BinarySearch/BinarySearch.java
rename to jbmc/regression/book-examples/BinarySearch/src/main/java/BinarySearch.java
diff --git a/jbmc/regression/book-examples/LocatorHandler/IdLocator.class b/jbmc/regression/book-examples/LocatorHandler/IdLocator.class
deleted file mode 100644
index 6945bb7cb8a..00000000000
Binary files a/jbmc/regression/book-examples/LocatorHandler/IdLocator.class and /dev/null differ
diff --git a/jbmc/regression/book-examples/LocatorHandler/Locator.class b/jbmc/regression/book-examples/LocatorHandler/Locator.class
deleted file mode 100644
index d245ff7adc4..00000000000
Binary files a/jbmc/regression/book-examples/LocatorHandler/Locator.class and /dev/null differ
diff --git a/jbmc/regression/book-examples/LocatorHandler/LocatorHandler$1.class b/jbmc/regression/book-examples/LocatorHandler/LocatorHandler$1.class
deleted file mode 100644
index dbf7819189f..00000000000
Binary files a/jbmc/regression/book-examples/LocatorHandler/LocatorHandler$1.class and /dev/null differ
diff --git a/jbmc/regression/book-examples/LocatorHandler/LocatorHandler$LocatorType.class b/jbmc/regression/book-examples/LocatorHandler/LocatorHandler$LocatorType.class
deleted file mode 100644
index e3237007844..00000000000
Binary files a/jbmc/regression/book-examples/LocatorHandler/LocatorHandler$LocatorType.class and /dev/null differ
diff --git a/jbmc/regression/book-examples/LocatorHandler/LocatorHandler.class b/jbmc/regression/book-examples/LocatorHandler/LocatorHandler.class
deleted file mode 100644
index 5f50fc678de..00000000000
Binary files a/jbmc/regression/book-examples/LocatorHandler/LocatorHandler.class and /dev/null differ
diff --git a/jbmc/regression/book-examples/LocatorHandler/XPathLocator.class b/jbmc/regression/book-examples/LocatorHandler/XPathLocator.class
deleted file mode 100644
index 7d495e0e0f9..00000000000
Binary files a/jbmc/regression/book-examples/LocatorHandler/XPathLocator.class and /dev/null differ
diff --git a/jbmc/regression/book-examples/LocatorHandler/pom.xml b/jbmc/regression/book-examples/LocatorHandler/pom.xml
new file mode 100644
index 00000000000..71a4f0c5244
--- /dev/null
+++ b/jbmc/regression/book-examples/LocatorHandler/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.book-examples.LocatorHandler
+ 1.0-SNAPSHOT
+
+
+ org.cprover.regression
+ regression.book-examples
+ 1.0-SNAPSHOT
+
+
+
+
+
+ maven-jar-plugin
+
+
+ default-jar
+ none
+
+
+
+
+
+
+
diff --git a/jbmc/regression/book-examples/LocatorHandler/IdLocator.java b/jbmc/regression/book-examples/LocatorHandler/src/main/java/IdLocator.java
similarity index 100%
rename from jbmc/regression/book-examples/LocatorHandler/IdLocator.java
rename to jbmc/regression/book-examples/LocatorHandler/src/main/java/IdLocator.java
diff --git a/jbmc/regression/book-examples/LocatorHandler/Locator.java b/jbmc/regression/book-examples/LocatorHandler/src/main/java/Locator.java
similarity index 100%
rename from jbmc/regression/book-examples/LocatorHandler/Locator.java
rename to jbmc/regression/book-examples/LocatorHandler/src/main/java/Locator.java
diff --git a/jbmc/regression/book-examples/LocatorHandler/LocatorHandler.java b/jbmc/regression/book-examples/LocatorHandler/src/main/java/LocatorHandler.java
similarity index 100%
rename from jbmc/regression/book-examples/LocatorHandler/LocatorHandler.java
rename to jbmc/regression/book-examples/LocatorHandler/src/main/java/LocatorHandler.java
diff --git a/jbmc/regression/book-examples/LocatorHandler/XPathLocator.java b/jbmc/regression/book-examples/LocatorHandler/src/main/java/XPathLocator.java
similarity index 100%
rename from jbmc/regression/book-examples/LocatorHandler/XPathLocator.java
rename to jbmc/regression/book-examples/LocatorHandler/src/main/java/XPathLocator.java
diff --git a/jbmc/regression/book-examples/LocatorHandler/test_inputs.desc b/jbmc/regression/book-examples/LocatorHandler/test_inputs.desc
index e671317f037..d41b24c11ba 100644
--- a/jbmc/regression/book-examples/LocatorHandler/test_inputs.desc
+++ b/jbmc/regression/book-examples/LocatorHandler/test_inputs.desc
@@ -1,6 +1,6 @@
CORE
LocatorHandler.autoLocator
---max-nondet-string-length 10 --unwind 10 --classpath `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
+--max-nondet-string-length 10 --unwind 10 --classpath `../../../../scripts/format_classpath.sh target/classes ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
^EXIT=10$
^SIGNAL=0$
^VERIFICATION FAILED$
diff --git a/jbmc/regression/book-examples/SignalUtil/EquivalenceCheck.class b/jbmc/regression/book-examples/SignalUtil/EquivalenceCheck.class
deleted file mode 100644
index 1ad1523184f..00000000000
Binary files a/jbmc/regression/book-examples/SignalUtil/EquivalenceCheck.class and /dev/null differ
diff --git a/jbmc/regression/book-examples/SignalUtil/SignalUtil.class b/jbmc/regression/book-examples/SignalUtil/SignalUtil.class
deleted file mode 100644
index 5c7825e65fb..00000000000
Binary files a/jbmc/regression/book-examples/SignalUtil/SignalUtil.class and /dev/null differ
diff --git a/jbmc/regression/book-examples/SignalUtil/equivalence_check.desc b/jbmc/regression/book-examples/SignalUtil/equivalence_check.desc
index 65097c88880..47c44af6494 100644
--- a/jbmc/regression/book-examples/SignalUtil/equivalence_check.desc
+++ b/jbmc/regression/book-examples/SignalUtil/equivalence_check.desc
@@ -1,6 +1,6 @@
CORE
EquivalenceCheck.check
-
+-cp target/classes
^EXIT=0$
^SIGNAL=0$
^VERIFICATION SUCCESSFUL$
diff --git a/jbmc/regression/book-examples/SignalUtil/pom.xml b/jbmc/regression/book-examples/SignalUtil/pom.xml
new file mode 100644
index 00000000000..9ff50908386
--- /dev/null
+++ b/jbmc/regression/book-examples/SignalUtil/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.book-examples.SignalUtil
+ 1.0-SNAPSHOT
+
+
+ org.cprover.regression
+ regression.book-examples
+ 1.0-SNAPSHOT
+
+
+
+
+
+ maven-jar-plugin
+
+
+ default-jar
+ none
+
+
+
+
+
+
+
diff --git a/jbmc/regression/book-examples/SignalUtil/EquivalenceCheck.java b/jbmc/regression/book-examples/SignalUtil/src/main/java/EquivalenceCheck.java
similarity index 100%
rename from jbmc/regression/book-examples/SignalUtil/EquivalenceCheck.java
rename to jbmc/regression/book-examples/SignalUtil/src/main/java/EquivalenceCheck.java
diff --git a/jbmc/regression/book-examples/SignalUtil/SignalUtil.java b/jbmc/regression/book-examples/SignalUtil/src/main/java/SignalUtil.java
similarity index 100%
rename from jbmc/regression/book-examples/SignalUtil/SignalUtil.java
rename to jbmc/regression/book-examples/SignalUtil/src/main/java/SignalUtil.java
diff --git a/jbmc/regression/book-examples/StringUtil/StringUtil.class b/jbmc/regression/book-examples/StringUtil/StringUtil.class
deleted file mode 100644
index 97f2581462a..00000000000
Binary files a/jbmc/regression/book-examples/StringUtil/StringUtil.class and /dev/null differ
diff --git a/jbmc/regression/book-examples/StringUtil/functional_property.desc b/jbmc/regression/book-examples/StringUtil/functional_property.desc
index 90c6214cd0e..34d16a684b1 100644
--- a/jbmc/regression/book-examples/StringUtil/functional_property.desc
+++ b/jbmc/regression/book-examples/StringUtil/functional_property.desc
@@ -1,6 +1,6 @@
CORE
StringUtil.getLastToken
---max-nondet-string-length 100 --unwind 2 --classpath `../../../../scripts/format_classpath.sh . ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
+--max-nondet-string-length 100 --unwind 2 --classpath `../../../../scripts/format_classpath.sh target/classes ../../../lib/java-models-library/target/core-models.jar ../../../lib/java-models-library/target/cprover-api.jar`
^EXIT=10$
^SIGNAL=0$
^VERIFICATION FAILED$
diff --git a/jbmc/regression/book-examples/StringUtil/pom.xml b/jbmc/regression/book-examples/StringUtil/pom.xml
new file mode 100644
index 00000000000..5ba1b032679
--- /dev/null
+++ b/jbmc/regression/book-examples/StringUtil/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.book-examples.StringUtil
+ 1.0-SNAPSHOT
+
+
+ org.cprover.regression
+ regression.book-examples
+ 1.0-SNAPSHOT
+
+
+
+
+
+ maven-jar-plugin
+
+
+ default-jar
+ none
+
+
+
+
+
+
+
diff --git a/jbmc/regression/book-examples/StringUtil/StringUtil.java b/jbmc/regression/book-examples/StringUtil/src/main/java/StringUtil.java
similarity index 100%
rename from jbmc/regression/book-examples/StringUtil/StringUtil.java
rename to jbmc/regression/book-examples/StringUtil/src/main/java/StringUtil.java
diff --git a/jbmc/regression/book-examples/pom.xml b/jbmc/regression/book-examples/pom.xml
new file mode 100644
index 00000000000..5c3610baaf2
--- /dev/null
+++ b/jbmc/regression/book-examples/pom.xml
@@ -0,0 +1,24 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.book-examples
+ 1.0-SNAPSHOT
+ pom
+
+
+ org.cprover.regression
+ regression
+ 1.0-SNAPSHOT
+
+
+
+ BinarySearch
+ LocatorHandler
+ SignalUtil
+ StringUtil
+
+
+
diff --git a/jbmc/regression/pom.xml b/jbmc/regression/pom.xml
index 9cb0f685389..8631fb6272d 100644
--- a/jbmc/regression/pom.xml
+++ b/jbmc/regression/pom.xml
@@ -15,6 +15,7 @@
jbmc
+ book-examples