2016-07-12 7 views
1

Läuft Powermock nicht auf Java 1.5? Ich bekomme folgende AusnahmePowerMock läuft nicht auf Java1.5?

 
cannot access org.powermock.core.classloader.annotations.PrepareForTest 
...lib\powermock-mockito-1.6.2-full.jar (org/powermock/core/classloader/annotations/PrepareForTest.class) 
    [javac] class file has wrong version 50.0, should be 49.0 
    [javac] Please remove or make sure it appears in the correct subdirectory of the classpath. 
    [javac] import org.powermock.core.classloader.annotations.PrepareForTest; 
    [javac]             ^
    [javac] 1 error 
    [javac] Compile failed; see the compiler error output for details. 

Jede Hilfe zu diesem würde sehr geschätzt werden !!

Ich habe Power-Mock-Version auf 1,5 herabgestuft und ich bekomme jetzt andere Ausnahme.

Stack trace and list of jars

fand ich, dass Javassist-3.18.2-GA.jar auf Java1.6 gebaut wurde und ersetzt es mit älterer Version von Javassist-3.16.1-GA. Ich komme jetzt unter seltsame Ausnahme. Ich glaube, ich habe keine richtigen Versionen von Gläsern und Abhängigkeit. Irgendwelche Vorschläge/Gedanken?

Stack trace:

+0

Aus reiner Neugier: An welchem ​​Projekt arbeiten Sie 2016, das auf Java5 läuft? Und was bringt Sie an PowerMock? – GhostCat

+0

Es sieht so aus, als ob Sie versuchen, PowerMock mit [javaagent] (https://github.com/jayway/powermock/wiki/PowerMockAgent) zu starten (gemäß Klassenpfadinformationen), aber Sie verwenden den JVM-Parameter '-javaagent nicht 'Parameter beim Start Test. Ich habe eine Frage: Sind Sie sicher, dass Sie PowerMock mit jUnit Rule und javaagent verwenden müssen? Kann [dieser Ansatz] (https://github.com/jayway/powermock/wiki/PowerMockRule) auch für Sie arbeiten? –

Antwort

3

PowerMock Version 1.6.0 und später mit Java 6, gebaut und daher nicht Java 5. Von ihrem change log for version 1.6.0 unterstützt:

PowerMock now builds for Java 6 and not Java 5.

Wenn Sie Java-Upgrade kann nicht müssen Sie Downgrade von PowerMock auf 1.5.6 oder früher.

+0

Vielen Dank für Ihre Antwort Luke! Ich schätze es !! Ich habe power mock auf 1.5.5 heruntergestuft aber jetzt bekomme ich eine schlechte Versionsnummer Ausnahme java.lang.UnsupportedClassVersionError: Falsche Versionsnummer in .class Datei \t bei java.lang.ClassLoader.loadClass (ClassLoader.java:251) \t at java.lang.ClassLoader.loadClassInternal (ClassLoader.java:319) \t bei org.powermock.modules.agent.PowerMockClassTransformer. (PowerMockClassTransformer.java:41) \t bei org.powermock.modules.agent.PowerMockAgent. (PowerMockAgent.java:42) – Javee

+0

@ Javee: das sieht für mich wie eine der JAR-Dateien irgendwo in Ihrem Projekt ist für Java 6 oder später gebaut. Ich kann nicht sagen, welche JAR von diesem Stacktrace stammen würde, und ich kann die Liste der von den Tests verwendeten nicht durchgehen, da Sie diese Informationen nicht zur Verfügung gestellt haben. Ich würde vorschlagen, Ihre Frage so zu bearbeiten, dass sie (a) den StackTrace in Ihrem Kommentar und (b) eine Liste aller von Ihren Tests verwendeten JAR-Dateien enthält. –