--- jython/src/org/python/core/packagecache/CachedJarsPackageManager.java 2009-09-26 11:43:16.000000000 -0600 +++ ../jython/src/org/python/core/packagecache/CachedJarsPackageManager.java 2010-04-12 09:25:06.779444711 -0600 @@ -392,7 +392,9 @@ for (Entry kv : zipPackages.entrySet()) { String classes = kv.getValue(); ostream.writeUTF(kv.getKey()); - ostream.writeUTF(classes); + for(String part : splitString(classes, 65535)){ + ostream.writeUTF(part); + } } ostream.close(); } catch (IOException ioe) { @@ -400,6 +402,26 @@ } } + protected static String[] splitString(String str, int maxLength) { + if (str==null) return null; + int len = str.length(); + int fullChunks = len / maxLength; + boolean lastChunkEmpty = fullChunks*maxLength == len; + + int size = fullChunks; + if (!lastChunkEmpty) size++; + + int i = 0; + String[] chunks = new String[size]; + for (i=0; i