@@ -63,7 +63,7 @@ private static Set<LoadedNodeData> loadData(File jarFile) throws Throwable {
63
63
while ((entry = jis .getNextEntry ()) != null ) {
64
64
try {
65
65
String name = entry .getName ();
66
- if (! name .endsWith (".class" )){
66
+ if (name .endsWith (".class" )){
67
67
byte [] bytes = JarUtils .getBytes (jis );
68
68
String magic = String .format ("%02X" , bytes [0 ]) + String .format ("%02X" , bytes [1 ]) + String .format ("%02X" , bytes [2 ]) + String .format ("%02X" , bytes [3 ]);
69
69
if (magic .toLowerCase ().equals ("cafebabe" )) {
@@ -136,9 +136,7 @@ public LoadingClassLoader(LoadedNodeData data, Set<LoadedNodeData> set) throws T
136
136
ccache = new HashMap <String , Class <?>>();
137
137
138
138
for (LoadedNodeData d : set ) {
139
- if (d != data ) {
140
- cache .put (d .node .name , d );
141
- }
139
+ cache .put (d .node .name , d );
142
140
}
143
141
144
142
@ SuppressWarnings ("unchecked" )
@@ -152,15 +150,17 @@ public LoadingClassLoader(LoadedNodeData data, Set<LoadedNodeData> set) throws T
152
150
153
151
@ Override
154
152
public Class <?> findClass (String name ) throws ClassNotFoundException {
155
- name = name .replace ("/" , "." );
153
+ name = name .replace ("." , "/" );
154
+
155
+ System .out .println ("finding " + name );
156
156
157
157
if (ccache .containsKey (name ))
158
158
return ccache .get (name );
159
159
160
160
LoadedNodeData data = cache .get (name );
161
161
if (data != null ) {
162
162
byte [] bytes = data .bytes ;
163
- Class <?> klass = defineClass (data .node .name , bytes , 0 , bytes .length );
163
+ Class <?> klass = defineClass (data .node .name . replace ( "/" , "." ) , bytes , 0 , bytes .length );
164
164
ccache .put (name , klass );
165
165
return klass ;
166
166
}
0 commit comments