IMRU revise pom files


git-svn-id: https://hyracks.googlecode.com/svn/branches/fullstack_imru@2664 123451ca-8445-de46-9d55-352943316053
diff --git a/imru/.classpath b/imru/.classpath
index 4c8cce1..59fa91f 100644
--- a/imru/.classpath
+++ b/imru/.classpath
@@ -5,16 +5,16 @@
 	<classpathentry kind="src" path="imru-example/src/main/resources"/>
 	<classpathentry kind="src" output="imru-core/target/classes" path="imru-core/src/main/resources"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-api-0.2.3-SNAPSHOT.jar" sourcepath="/home/wangrui/a/imru/fullstack_imru/hyracks/hyracks-api/src/main/java"/>
+	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-api-0.2.3-SNAPSHOT.jar" sourcepath="/data/a/imru/fullstack_imru/hyracks/hyracks-api/src/main/java"/>
 	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-control-cc-0.2.3-SNAPSHOT.jar"/>
-	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-control-nc-0.2.3-SNAPSHOT.jar" sourcepath="/home/wangrui/fullstack_imru/hyracks/hyracks-control/hyracks-control-nc/src/main/java"/>
+	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-control-nc-0.2.3-SNAPSHOT.jar" sourcepath="/data/a/fullstack_imru/hyracks/hyracks-control/hyracks-control-nc/src/main/java"/>
 	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-data-std-0.2.3-SNAPSHOT.jar"/>
 	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-dataflow-common-0.2.3-SNAPSHOT.jar"/>
-	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-dataflow-std-0.2.3-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-dataflow-std-0.2.3-SNAPSHOT.jar" sourcepath="/data/a/imru/fullstack_imru/hyracks/hyracks-dataflow-std/src/main/java"/>
 	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-ipc-0.2.3-SNAPSHOT.jar"/>
 	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-storage-common-0.2.3-SNAPSHOT.jar"/>
 	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/args4j-2.0.12.jar"/>
-	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-control-common-0.2.3-SNAPSHOT.jar" sourcepath="/home/wangrui/fullstack_imru/hyracks/hyracks-control/hyracks-control-common"/>
+	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/hyracks-control-common-0.2.3-SNAPSHOT.jar" sourcepath="/data/a/fullstack_imru/hyracks/hyracks-control/hyracks-control-common"/>
 	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/javax.servlet-api-3.0.1.jar"/>
 	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/wicket-core-1.5.2.jar"/>
 	<classpathentry kind="lib" path="imru-example/target/appassembler/lib/wicket-request-1.5.2.jar"/>
diff --git a/imru/imru-core/pom.xml b/imru/imru-core/pom.xml
index 6436d0f..79ecfa7 100644
--- a/imru/imru-core/pom.xml
+++ b/imru/imru-core/pom.xml
@@ -1,13 +1,13 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>edu.uci.ics.hyracks</groupId>
-  <artifactId>hyracks-imru</artifactId>
-  <version>0.1.0-SNAPSHOT</version>
+  <artifactId>imru-core</artifactId>
+  <version>0.2.3-SNAPSHOT</version>
 
   <parent>
     <groupId>edu.uci.ics.hyracks</groupId>
     <artifactId>imru</artifactId>
-    <version>0.1.0-SNAPSHOT</version>
+    <version>0.2.3-SNAPSHOT</version>
   </parent>
 
   <build>
diff --git a/imru/imru-core/src/main/java/edu/uci/ics/hyracks/imru/api2/IMRUJobV3.java b/imru/imru-core/src/main/java/edu/uci/ics/hyracks/imru/api2/IMRUJobV3.java
index c32b47b..9da585a 100644
--- a/imru/imru-core/src/main/java/edu/uci/ics/hyracks/imru/api2/IMRUJobV3.java
+++ b/imru/imru-core/src/main/java/edu/uci/ics/hyracks/imru/api2/IMRUJobV3.java
@@ -23,7 +23,6 @@
 import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;

 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;

 import edu.uci.ics.hyracks.control.nc.application.NCApplicationContext;

-import edu.uci.ics.hyracks.imru.example.utils.R;

 

 public abstract class IMRUJobV3<Model extends Serializable, Data extends Serializable, IntermediateResult extends Serializable>

         implements IMRUJobV2<Model, IntermediateResult> {

@@ -60,7 +59,7 @@
                 byte[] bs = new byte[length];

                 int len = input.read(bs);

                 if (len != length)

-                    R.p("read half");

+                    throw new Exception("read half");

                 NCApplicationContext appContext = (NCApplicationContext) ctx.getJobletContext().getApplicationContext();

                 return (Data) appContext.deserialize(bs);

             }

diff --git a/imru/imru-dist/pom.xml b/imru/imru-dist/pom.xml
index 507c94c..c6d893a 100644
--- a/imru/imru-dist/pom.xml
+++ b/imru/imru-dist/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<groupId>edu.uci.ics.hyracks</groupId>
 		<artifactId>imru</artifactId>
-		<version>0.1.0-SNAPSHOT</version>
+		<version>0.2.3-SNAPSHOT</version>
 	</parent>
 	<artifactId>imru-dist</artifactId>
 	<name>imru-dist</name>
@@ -40,6 +40,19 @@
 								<resource>
 									<directory>../../pregelix/pregelix-core/target/appassembler</directory>
 								</resource>
+							</resources>
+						</configuration>
+					</execution>
+					<execution>
+						<id>copy-imru-scripts</id>
+						<!-- here the phase you need -->
+						<phase>package</phase>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals>
+						<configuration>
+							<outputDirectory>target/appassembler/bin</outputDirectory>
+							<resources>
 								<resource>
 									<directory>../imru-core/src/main/resources/scripts</directory>
 								</resource>
@@ -64,6 +77,25 @@
 							</resources>
 						</configuration>
 					</execution>
+					<execution>
+						<id>copy-imru</id>
+						<!-- here the phase you need -->
+						<phase>package</phase>
+						<goals>
+							<goal>copy-resources</goal>
+						</goals>
+						<configuration>
+							<outputDirectory>target/appassembler/lib</outputDirectory>
+							<resources>
+								<resource>
+									<directory>../imru-core/target</directory>
+									<includes>
+										<include>*.jar</include>
+									</includes>
+								</resource>
+							</resources>
+						</configuration>
+					</execution>
 				</executions>
 			</plugin>
 		</plugins>
@@ -71,13 +103,13 @@
 	<dependencies>
 		<dependency>
 			<groupId>edu.uci.ics.hyracks</groupId>
-			<artifactId>pregelix-core</artifactId>
+			<artifactId>imru-core</artifactId>
 			<version>0.2.3-SNAPSHOT</version>
-			<scope>comile</scope>
+			<scope>compile</scope>
 		</dependency>
 		<dependency>
-			<groupId>edu.uci.ics.hyracks</groupId>
-			<artifactId>pregelix-example</artifactId>
+			<groupId>edu.uci.ics.hyracks.examples</groupId>
+			<artifactId>imru-example</artifactId>
 			<version>0.2.3-SNAPSHOT</version>
 		</dependency>
 	</dependencies>
diff --git a/imru/imru-example/.classpath b/imru/imru-example/.classpath
index b395423..b5a95fe 100644
--- a/imru/imru-example/.classpath
+++ b/imru/imru-example/.classpath
@@ -9,7 +9,7 @@
 	<classpathentry kind="lib" path="target/appassembler/lib/hyracks-data-std-0.2.3-SNAPSHOT.jar"/>
 	<classpathentry kind="lib" path="target/appassembler/lib/hyracks-dataflow-common-0.2.3-SNAPSHOT.jar"/>
 	<classpathentry kind="lib" path="target/appassembler/lib/hyracks-dataflow-std-0.2.3-SNAPSHOT.jar"/>
-	<classpathentry kind="lib" path="target/appassembler/lib/hyracks-imru-0.1.0-SNAPSHOT.jar"/>
+	<classpathentry kind="lib" path="target/appassembler/lib/hyracks-imru-0.2.3-SNAPSHOT.jar"/>
 	<classpathentry kind="lib" path="target/appassembler/lib/hyracks-ipc-0.2.3-SNAPSHOT.jar"/>
 	<classpathentry kind="lib" path="target/appassembler/lib/hyracks-storage-common-0.2.3-SNAPSHOT.jar"/>
 	<classpathentry kind="lib" path="target/appassembler/lib/args4j-2.0.12.jar"/>
diff --git a/imru/imru-example/pom.xml b/imru/imru-example/pom.xml
index 85ca23b..8fbb364 100644
--- a/imru/imru-example/pom.xml
+++ b/imru/imru-example/pom.xml
@@ -2,14 +2,14 @@
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>edu.uci.ics.hyracks.examples</groupId>
-	<artifactId>hyracks-imru-example</artifactId>
-	<version>0.1.0-SNAPSHOT</version>
+	<artifactId>imru-example</artifactId>
+	<version>0.2.3-SNAPSHOT</version>
 	<packaging>jar</packaging>
 
 	<parent>
 		<groupId>edu.uci.ics.hyracks</groupId>
 		<artifactId>imru</artifactId>
-		<version>0.1.0-SNAPSHOT</version>
+		<version>0.2.3-SNAPSHOT</version>
 	</parent>
 
 	<build>
@@ -90,8 +90,8 @@
 	<dependencies>
 	<dependency>
 		<groupId>edu.uci.ics.hyracks</groupId>
-		<artifactId>hyracks-imru</artifactId>
-		<version>0.1.0-SNAPSHOT</version>
+		<artifactId>imru-core</artifactId>
+		<version>0.2.3-SNAPSHOT</version>
 	</dependency>
 	</dependencies>
 
diff --git a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorld.java b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorld.java
index e8939b1..8ea4ff3 100644
--- a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorld.java
+++ b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorld.java
@@ -61,5 +61,6 @@
 

         HelloWorldModel finalModel = Client.run(new HelloWorldJob(), args);

         System.out.println("FinalModel: " + finalModel.totalLength);

+        System.exit(0);

     }

 }

diff --git a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldData.java b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldData.java
new file mode 100644
index 0000000..2729b1f
--- /dev/null
+++ b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldData.java
@@ -0,0 +1,11 @@
+package edu.uci.ics.hyracks.imru.example.helloworld;
+
+import java.io.Serializable;
+
+public class HelloWorldData implements Serializable {
+    String word;
+
+    public HelloWorldData(String word) {
+        this.word=word;
+    }
+}
diff --git a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldDebug.java b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldDebug.java
index 5cc8315..ae6414b 100644
--- a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldDebug.java
+++ b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldDebug.java
@@ -21,6 +21,5 @@
 public class HelloWorldDebug {

     public static void main(String[] args) throws Exception {

         HelloWorld.main(HelloWorld.defaultArgs(true));

-        System.exit(0);

     }

 }

diff --git a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldIncrementalResult.java b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldResult.java
similarity index 92%
rename from imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldIncrementalResult.java
rename to imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldResult.java
index 4e85a86..0ea0696 100644
--- a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldIncrementalResult.java
+++ b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/helloworld/HelloWorldResult.java
@@ -21,6 +21,6 @@
  * Object which is generated by map(), aggregated in reduce() and used in
  * update()
  */
-public class HelloWorldIncrementalResult implements Serializable {
+public class HelloWorldResult implements Serializable {
     public int length;
 }
diff --git a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/kmeans/KMeans.java b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/kmeans/KMeans.java
index e623f22..2f0b78c 100644
--- a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/kmeans/KMeans.java
+++ b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/kmeans/KMeans.java
@@ -67,5 +67,6 @@
         System.out.println("FinalModel:");

         for (int i = 0; i < k; i++)

             System.out.println(" " + finalModel.centroids[i]);

+        System.exit(0);

     }

 }

diff --git a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/kmeans/KMeansDebug.java b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/kmeans/KMeansDebug.java
index 696231c..9454fe0 100644
--- a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/kmeans/KMeansDebug.java
+++ b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/kmeans/KMeansDebug.java
@@ -18,6 +18,5 @@
 public class KMeansDebug {
     public static void main(String[] args) throws Exception {
         KMeans.main(KMeans.defaultArgs(true));
-        System.exit(0);
     }
 }
diff --git a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/utils/Client.java b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/utils/Client.java
index 6564b6e..f598ca7 100644
--- a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/utils/Client.java
+++ b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/utils/Client.java
@@ -132,8 +132,8 @@
         @Option(name = "-model-file", usage = "Local file to write the final weights to")
         public String modelFilename;
 
-        @Option(name = "-num-rounds", usage = "The number of iterations to perform")
-        public int numRounds = 5;
+//        @Option(name = "-num-rounds", usage = "The number of iterations to perform")
+//        public int numRounds = 5;
     }
 
     public static final int FRAME_SIZE = 65536;
@@ -466,7 +466,7 @@
         } catch (Exception e) {
             e.printStackTrace();
         }
-        harFile.delete();
+//        harFile.delete();
     }
 
     /**
diff --git a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/utils/CreateHar.java b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/utils/CreateHar.java
index f2abd26..e6a189e 100644
--- a/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/utils/CreateHar.java
+++ b/imru/imru-example/src/main/java/edu/uci/ics/hyracks/imru/example/utils/CreateHar.java
@@ -13,102 +13,108 @@
  * limitations under the License.

  */

 

-package edu.uci.ics.hyracks.imru.example.utils;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.URL;
-import java.util.logging.Logger;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-public class CreateHar {
-    public static void copy(InputStream in, OutputStream out)
-            throws IOException {
-        byte[] bs = new byte[1024];
-        while (true) {
-            int len = in.read(bs);
-            if (len <= 0)
-                break;
-            out.write(bs, 0, len);
-        }
-    }
-
-    public static void copy(File file, OutputStream out) throws IOException {
-        FileInputStream input = new FileInputStream(file);
-        copy(input, out);
-        input.close();
-    }
-
-    public static void add(String name, File file, ZipOutputStream zip)
-            throws IOException {
-        if (file.isDirectory()) {
-            for (File f : file.listFiles())
-                add(
-                        name.length() == 0 ? f.getName() : name + "/"
-                                + f.getName(), f, zip);
-        } else {
-            // System.out.println("add " + name);
-            ZipEntry entry = new ZipEntry(name);
-            entry.setTime(file.lastModified());
-            zip.putNextEntry(entry);
-            copy(file, zip);
-            zip.closeEntry();
-        }
-    }
-
-    public static void createHar(File harFile) throws IOException {
-        File file = new File(".classpath");
-        FileInputStream fileInputStream = new FileInputStream(file);
-        byte[] buf = new byte[(int) file.length()];
-        int start = 0;
-        while (start < buf.length) {
-            int len = fileInputStream.read(buf, start, buf.length - start);
-            if (len < 0)
-                break;
-            start += len;
-        }
-        fileInputStream.close();
-
-        ByteArrayOutputStream memory = new ByteArrayOutputStream();
-        ZipOutputStream zip2 = new ZipOutputStream(memory);
-        String p = CreateHar.class.getName().replace('.', '/') + ".class";
-        URL url = CreateHar.class.getClassLoader().getResource(p);
-        String path = url.getPath();
-        path = path.substring(0, path.length() - p.length());
-        Logger.getLogger(CreateHar.class.getName()).info(
-                "Add " + path + " to HAR");
-        add("", new File(path), zip2);
-        zip2.finish();
-
-        ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(harFile));
-        // add("hyracks-deployment.properties", new File(
-        // "src/main/resources/hyracks-deployment.properties"), zip);
-        // add("lib/hyracks-imru-0.1.0-SNAPSHOT.jar", new File(
-        // "target/appassembler/lib/hyracks-imru-0.1.0-SNAPSHOT.jar"), zip);
-        for (String line : new String(buf).split("\n")) {
-            if (line.contains("kind=\"lib\"")) {
-                line = line.substring(line.indexOf("path=\""));
-                line = line.substring(line.indexOf("\"") + 1);
-                line = line.substring(0, line.indexOf("\""));
-                String name = line.substring(line.lastIndexOf("/") + 1);
-                add("lib/" + name, new File(line), zip);
-            }
-        }
-        // add("lib/hyracks-data-std-0.2.3-SNAPSHOT.jar", new File(
-        // "target/appassembler/lib/hyracks-data-std-0.2.3-SNAPSHOT.jar"), zip);
-        // add("classes", new File("target/classes"), zip);
-
-        ZipEntry entry = new ZipEntry("lib/imru-example.jar");
-        entry.setTime(System.currentTimeMillis());
-        zip.putNextEntry(entry);
-        zip.write(memory.toByteArray());
-        zip.closeEntry();
-        zip.finish();
-    }
-}
+package edu.uci.ics.hyracks.imru.example.utils;

+

+import java.io.ByteArrayOutputStream;

+import java.io.File;

+import java.io.FileInputStream;

+import java.io.FileOutputStream;

+import java.io.IOException;

+import java.io.InputStream;

+import java.io.OutputStream;

+import java.net.URL;

+import java.util.logging.Logger;

+import java.util.zip.ZipEntry;

+import java.util.zip.ZipOutputStream;

+

+public class CreateHar {

+    public static void copy(InputStream in, OutputStream out) throws IOException {

+        byte[] bs = new byte[1024];

+        while (true) {

+            int len = in.read(bs);

+            if (len <= 0)

+                break;

+            out.write(bs, 0, len);

+        }

+    }

+

+    public static void copy(File file, OutputStream out) throws IOException {

+        FileInputStream input = new FileInputStream(file);

+        copy(input, out);

+        input.close();

+    }

+

+    public static void add(String name, File file, ZipOutputStream zip) throws IOException {

+        if (file.isDirectory()) {

+            for (File f : file.listFiles())

+                add(name.length() == 0 ? f.getName() : name + "/" + f.getName(), f, zip);

+        } else {

+            // System.out.println("add " + name);

+            ZipEntry entry = new ZipEntry(name);

+            entry.setTime(file.lastModified());

+            zip.putNextEntry(entry);

+            copy(file, zip);

+            zip.closeEntry();

+        }

+    }

+

+    public static void createHar(File harFile) throws IOException {

+        File classPathFile = new File(".classpath");

+        boolean startedFromEclipse = classPathFile.exists();

+        ZipOutputStream zip = new ZipOutputStream(new FileOutputStream(harFile));

+        String p = CreateHar.class.getName().replace('.', '/') + ".class";

+        URL url = CreateHar.class.getClassLoader().getResource(p);

+        String path = url.getPath();

+        if (startedFromEclipse) {

+            path = path.substring(0, path.length() - p.length());

+            Logger.getLogger(CreateHar.class.getName()).info("Add " + path + " to HAR");

+            ByteArrayOutputStream memory = new ByteArrayOutputStream();

+            ZipOutputStream zip2 = new ZipOutputStream(memory);

+            add("", new File(path), zip2);

+            zip2.finish();

+

+            ZipEntry entry = new ZipEntry("lib/imru-example.jar");

+            entry.setTime(System.currentTimeMillis());

+            zip.putNextEntry(entry);

+            zip.write(memory.toByteArray());

+            zip.closeEntry();

+

+            FileInputStream fileInputStream = new FileInputStream(classPathFile);

+            byte[] buf = new byte[(int) classPathFile.length()];

+            int start = 0;

+            while (start < buf.length) {

+                int len = fileInputStream.read(buf, start, buf.length - start);

+                if (len < 0)

+                    break;

+                start += len;

+            }

+            fileInputStream.close();

+            for (String line : new String(buf).split("\n")) {

+                if (line.contains("kind=\"lib\"")) {

+                    line = line.substring(line.indexOf("path=\""));

+                    line = line.substring(line.indexOf("\"") + 1);

+                    line = line.substring(0, line.indexOf("\""));

+                    String name = line.substring(line.lastIndexOf("/") + 1);

+                    add("lib/" + name, new File(line), zip);

+                }

+            }

+        } else {

+            String string = System.getProperty("java.class.path");

+            if (string != null) {

+                for (String s : string.split(File.pathSeparator)) {

+                    if (s.length() == 0)

+                        continue;

+                    String name = s;

+                    int t = name.lastIndexOf('/');

+                    if (t > 0)

+                        name = name.substring(t + 1);

+                    if (new File(s).exists()) {

+                        if (!(s.contains("jetty") && s.contains("6.1.14")))

+                            add("lib/" + name, new File(s), zip);

+                    }

+                }

+            }

+        }

+        zip.finish();

+    }

+}

diff --git a/imru/pom.xml b/imru/pom.xml
index 49b7af1..68c0a40 100644
--- a/imru/pom.xml
+++ b/imru/pom.xml
@@ -3,7 +3,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>edu.uci.ics.hyracks</groupId>
   <artifactId>imru</artifactId>
-  <version>0.1.0-SNAPSHOT</version>
+  <version>0.2.3-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>imru</name>