"Прерывание: путь к ресурсу EMF не указан!" - PullRequest
0 голосов
/ 06 июня 2018

Я бы хотел запустить инструмент проверки программ с именем Hoare Advanced Homework Assistant из файла jar.Сначала я загрузил исходные файлы с веб-сайта («http://haha.mimuw.edu.pl/")» и импортировал их в Eclipse. Затем я организовал, следуя BUILD.txt, и создал исполняемый файл Jar. Но я запускаю файл jar в командной строке,появляется следующее сообщение.
«Прерывание: путь к ресурсу EMF не указан!»
Я думаю, что нужен аргумент, но я не знаю, какой аргумент должен быть предоставлен. Вот программа класса Main:

public class Main{
    public static void main(String[] args) {
        if (args.length==0) {
            System.err.println("Aborting: no path to EMF resource provided!");
            return;
        }

        Injector injector = new net.afyre.haha.demo.HahaStandaloneSetupGenerated().createInjectorAndDoEMFRegistration();
        Main main = injector.getInstance(Main.class);
        main.runGenerator(args[0]);
    }

    @Inject 
    private Provider<ResourceSet> resourceSetProvider;

    @Inject
    private IResourceValidator validator;

    @Inject(optional=true)
    private IGenerator generator;

    @Inject 
    private JavaIoFileSystemAccess fileAccess;

    protected void runGenerator(String string) {
        // load the resource
        ResourceSet set = resourceSetProvider.get();
        Resource resource = set.getResource(URI.createURI(string), true);

        // validate the resource
        List<Issue> list = validator.validate(resource, CheckMode.ALL, CancelIndicator.NullImpl);

        if (!list.isEmpty()) {
            for (Issue issue : list) {
                System.err.println(issue);
            }
            return;
        }

        // configure and start the generator

        fileAccess.setOutputPath("src-gen/");
        if (generator != null) {
            generator.doGenerate(resource, fileAccess);
        } else {
            System.out.println("Code generator not foubnd!");
        }
        System.out.println("Code generation finished.");
    }
}

Не могли бы вы дать мне решение этой проблемы? Спасибо.

1 Ответ

0 голосов
/ 06 июня 2018

Ожидаемая строка, вероятно, имеет форму «платформа: /resource/my.project/my.folder/my.file» или переключите «ресурс» с помощью «плагина».В основном все, что вписывается в URI.createURI , как показывает код.

...