Ошибка инструмента покрытия кода Emma — основной метод не найден

Я использую инструмент покрытия кода Emma, ​​и у меня есть Java8. Я новичок в Эмме, и помощи очень мало. Я пытался использовать следующие ссылки.

  1. http://emma.sourceforge.net/intro.html
  2. http://users.csc.calpoly.edu/~jdalbey/309/Lectures/emmademo.html

Но я продолжаю получать следующую ошибку, когда пытаюсь запустить:

java -cp emma.jar emmarun -jar .../jdk1.4.2/demo/jfc/SwingSet2/SwingSet2.jar 
java -cp TestTools\emma.jar;. emmarun -cp . CircleConverter 

Я также пробовал варианты из здесь, но это не помогло.

Ошибка-

CoverageDemo>java -XX:-UseSplitVerifier -cp TestTools\emma.jar;. emmarun -cp . CircleConverter
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option UseSplitVerifier; support was removed in 8.0
EMMA: no coverage data collected at runtime [all reports will be empty]
EMMA: writing [txt] report to [C:\Users\pkothavale\Downloads\CoverageDemo\coverage.txt] ...
[EMMA v2.0, build 4217]
emmarun: [MAIN_METHOD_NOT_FOUND] application class [CircleConverter] does not have a runnable public main() method
Exception in thread "main" com.vladium.emma.EMMARuntimeException: [MAIN_METHOD_NOT_FOUND] application class [CircleConverter] does not have a runnable public main() method
        at com.vladium.emma.rt.AppRunner._run(AppRunner.java:497)
        at com.vladium.emma.rt.AppRunner.run(AppRunner.java:97)
        at com.vladium.emma.runCommand.run(runCommand.java:247)
        at emmarun.main(emmarun.java:27)
Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 11
Exception Details:

person For Testing    schedule 11.02.2017    source источник


Ответы (1)


на самом деле проблема связана с этой строкой:

Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 11

Я нашел решение по этой ссылке: java.lang.VerifyError: Ожидается кадр карты стека в целевой ветви JDK 1.7

Короче говоря, в java7 введена более строгая проверка, и чтобы отключить ее, мы можем добавить параметр «-XX:-UseSplitVerifier», если вы используете java7, или «-noverify», если вы используете java8.

Таким образом, правильная командная строка для java8 будет:

java -noverify -cp emma.jar emmarun -jar .../jdk1.4.2/demo/jfc/SwingSet2/SwingSet2.jar
person Ben7    schedule 13.03.2017