Отказ от ответственности: я новичок в Java и Эмме. Подробности:
- Я установил emma и проработал некоторые примеры. Нет проблем.
- У меня есть проект Java с несколькими файлами, для которых я хочу получить отчет о покрытии.
- Я набираю "javac -d out * .java". Нет ошибок.
- Я набираю "java -cp out Main". Программа работает нормально, и я получаю ожидаемый результат.
Я набираю "java emmarun -cp out Main". Я получаю следующее:
emmarun: [MAIN_METHOD_NOT_FOUND] класс приложения [Main] не имеет работающего открытого метода main ()
Исключение в потоке "main" com.vladium.emma.EMMARuntimeException: [MAIN_METHOD_NOT_FOUND] класс приложения [Main] делает
не имеет работоспособного публичного метода main ()
на com.vladium.emma.rt.AppRunner._run (AppRunner.java:546)
на com.vladium.emma.rt.AppRunner.run (AppRunner.java:97)
на com.vladium.emma.runCommand.run (runCommand.java:247)
в emmarun.main (emmarun.java:27)
Вызывается: java.lang.IllegalAccessException: класс com.vladium.emma.rt.AppRunner $ Invoker не может получить доступ к члену clas
s Main с модификаторами "public static"
at sun.reflect.Reflection.ensureMemberAccess (неизвестный источник)
в java.lang.reflect.AccessibleObject.slowCheckMemberAccess (неизвестный источник)
в java.lang.reflect.AccessibleObject.checkAccess (Неизвестный источник)
в java.lang.reflect.Method.invoke (Неизвестный источник)
на com.vladium.emma.rt.AppRunner $ Invoker.run (AppRunner.java:655)
at java.lang.Thread.run (неизвестный источник)
Мой файл "Main.java" выглядит так:
public class Main {
public static void main( String[] args ) {
NetworkSimplexTest nst = new NetworkSimplexTest();
nst.test();
}
}
Я бы опубликовал весь код, но он довольно длинный. Простые примеры, которые я попробовал, работают нормально - emma автоматически использует инструменты и создает отчет о покрытии, как в примерах.
Похоже, что Эмма не может найти мою "Основную", но обычная Java может. Чего мне не хватает?