2017-03-07 21 views
1

Ich versuche sum.jvm-Tools in meinem Java-Programm zu verwenden. Es erlaubt mir, mit sun.jvm zu programmieren * aber wenn ich versuche, es zu kompilieren (sauber, installiert) i diese:.Maven kann sun.jvm.hotspot beim Kompilieren nicht finden

error: package sun.jvm.hotspot.memory does not exist 

Im Grunde eine Tonne dieser Fehler für überall dort, wo ich eine sun.jvm Referenz verwendet .

Ich habe mich viel umgeschaut und kann bis jetzt niemanden mit diesem Problem finden ... Weiß jemand eine Lösung dafür?

Ich versuche, eine Tools-Unterklasse zu erstellen, die die JVM für bestimmte Zeichenfolgen scannt, ich fand heraus, dass ich sun.jvm verwenden muss, aber jetzt wird es nicht funktionieren.

Dies ist meine Methode:

@Override 
public void run() { 
    SystemDictionary dict = VM.getVM().getSystemDictionary(); 
    InstanceKlass stringKlass = (InstanceKlass) dict.find("java/lang/String", null, null); 
    OopField valueField = (OopField) stringKlass.findField("value", "[C"); 

    long[] stats = new long[2]; 
    VM.getVM().getStringTable().stringsDo(s -> { 
     s.printValueOn(System.out); 
     System.out.println(); 
     stats[0]++; 
     stats[1] += s.getObjectSize() + valueField.getValue(s).getObjectSize(); 
    }); 
} 

, dass ich in der Werkzeugunterklasse zu testen, bin mit. Überall in meinem Projekt, dass ich sun.jvm referenziere, gibt es diesen Fehler, wenn ich versuche, eine saubere Installation mit Maven zu machen. Es baut mit dem integrierten Compiler von IntelliJ, aber nicht mit Maven.

Ich habe auch versucht, Maven wieder zu importieren und IntelliJ sogar neu zu installieren und es mit einer neuen Installation zu kompilieren.

Es passiert mit allen sun.jvm.hotspot. * Pfaden.

Danke, Erouax

Antwort

2

$JAVA_HOME/lib/sa-jdi.jar zu CLASSPATH hinzufügen.

+1

Wie füge ich das zu meinem CLASSPATH hinzu? Ich bin auf OS X. Ich führte den Befehl "export CLASSPATH = $ CLASSPATH: $ JAVA_HOME/lib/sa-jdi.jar" aber es funktioniert immer noch nicht? – Erouax

+1

@Erouax Fügen Sie 'sa-jdi.jar' in die Abhängigkeitenliste in den Projekteigenschaften Ihrer IDE ein. – apangin

Verwandte Themen