 -            dirs = ' '.join(pkglistscala)
 +            f = NamedTemporaryFile(mode='wb', suffix='.txt', prefix ='scala_src_path_', delete=False) #FML: We write to a temporary file just in case the command is to long
 +            for line in pkglistscala:
-+                f.write('%s\n' % os.path.abspath(line))
++                f.write('"%s"\n' % os.path.abspath(line))
 +            f.close()
 +            dirs = '@"%s"' % f.name
              classpath = os.pathsep.join(cplk[side])

+            os.unlink(f.name)
+        f = NamedTemporaryFile(mode='wb', suffix='.txt', prefix ='java_src_path_', delete=False) #FML: We write to a temporary file just in case the command is to long
+        for line in pkglist:
+            f.write('%s\n' % os.path.abspath(line))
+        f.close()
+        dirs = '@"%s"' % f.name
         classpath = os.pathsep.join(cplk[side])
         forkcmd = self.cmdrecomp.format(classpath=classpath, sourcepath=pathsrclk[side], outpath=pathbinlk[side],
                                         pkgs=dirs)
@@ -1338,7 +1355,7 @@
             raise
 
     def startserver(self, mainclass, extraargs):
-        classpath = [self.binserver] + self.cpathserver

         if not reobf:
             md5lk = {CLIENT: self.md5client, SERVER: self.md5server}
         else:
@@ -1718,6 +1736,9 @@
                     class_path = ''
                 else:
                     class_path += '/'
