API сплава, приводящий к java.lang.UnsatisfiedLinkError

В настоящее время я использую API Alloy Analyzer для создания программы и получаю некоторые специфические действия. В частности, если я открою файл и проанализирую его (используя CompUtil.parseEverything), затем создаю новую команду и вызываю TranslateAlloyToKodkod.execute_command для проанализированного файла и вновь созданную команду, используя MiniSat с ядром UNSAT, он работает нормально. Однако позже во время выполнения моя программа анализирует второй входной файл (также используя CompUtil.parseEverything), получает другой мир, создает новую команду, а затем я снова пытаюсь вызвать TranslateAlloyToKodkod.execute_command и выдает следующую ошибку:

ERROR: class edu.mit.csail.sdg.alloy4.ErrorFatal: The required JNI library cannot be found: java.lang.UnsatisfiedLinkError: no minisatproverx5 in java.library.path edu.mit.csail.sdg.alloy4compiler.translator.TranslateAlloyToKodkod.execute_command(TranslateAlloyToKodkod.java:390)

У кого-нибудь есть идеи, почему это выбрасывается второй раз, а не первый?

Подводя итог, у меня есть нечто похожее на следующее:

Module someWorld = CompUtil.parseEverything_fromFile(rep, null, "someFile.als");
//For the following, "sig" is a sig in someWorld.getAllReachableSigs();
Command command = sig.not();
A4Options options = new A4Options();
options.solver = A4Options.SatSolver.MiniSatProverJNI;
A4Solution ans = 
    TranslateAlloyToKodkod.execute_command(rep, someWorld, command, options);
//No thrown error
Module someOtherWorld = CompUtil.parseEverything_fromFile(rep, null, "someOtherFile.als");
//For the following, "sig" is a sig in someOtherWorld.getAllReachableSigs();
Command commandTwo = sig.not();
A4Solution ansTwo = 
    TranslateAlloyToKodkod.execute_command(rep, someOtherWorld, commandTwo, options);
//Thrown error above. Why?

Ответы на вопрос(2)

Ваш ответ на вопрос