Quando si tenta di eseguire un programma Java (java -javaagent:size.jar ObjectSizeTest
) ottengo il seguente errore:"Impossibile caricare attributo manifesta premain-Class" durante il tentativo di ottenere la dimensione di un oggetto utilizzando agente java
Failed to load Premain-Class manifest attribute from D:\workspace\ObjectSizeTest\size.jar
Error occurred during initialization of VM
agent library failed to init: instrument
Qui è il codice di ObjectSizeTest:
public class ObjectSizeTest {
public static void main(String[] args) {
String s = new String("sai");
System.out.println(ObjectSizeFetcher.getObjectSize(s));
}
}
MANIFEST.MF (per size.jar):
Manifest-Version: 1.0
Created-By: 1.5.0_18 (Sun Microsystems Inc.)
Premain-Class: ObjectSizeFetcher
e qui è O codice bjectSizeFetcher:
import java.lang.instrument.Instrumentation;
public class ObjectSizeFetcher {
private static Instrumentation instrumentation;
public static void premain(String args, Instrumentation inst) {
instrumentation = inst;
}
public static long getObjectSize(Object o) {
return instrumentation.getObjectSize(o);
}
}
Si ottiene il seguente errore ... e ...? (Non hai fatto una domanda.) – JasCav
dove sono le fonti per size.jar? Credo che abbiamo bisogno di quelli. – rochb
Puoi pubblicare il file manifest, penso che la tua classe Premain nel file manifest non sia pienamente qualificata o non sia in grado di trovare quella classe. –