2016-06-17 4 views
1

Я прочитал много форумов, но я не нашел ничего об этом для IntelliJ Idea.Как настроить IntelliJ Idea с CPLEX

Я не разработчик, но я управляю сервером Tomcat8 на Debian.

Разработчик хочет использовать IBM ILOG CPLEX в своем приложении Grails. Он использует IDE «IntelliJ Idea». Он сделает его работу, создавая объекты, как это:

// Create the shape/object solver 
      IloCplex CPLEX IloCplex = new(); 
      System.out.println ("\ n IloCplex CPLEX IloCplex = new();"); 
     ... 
     ... 

Пользователь ПК под управлением Windows и устанавливаются IntelliJ IDEA и CPLEX. С этой конфигурацией программа работает.

Когда программа экспортирована .war и передана на сервер tomcat, она больше не работает.

мы имеем ошибку:

Error 500: Internal Server Error 

    line | method 
- 1145 >> | runWorker in java.util.concurrent.ThreadPoolExecutor 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 615 | run in java.util.concurrent.ThreadPoolExecutor $ Worker 
^ 745 | run. . . in java.lang.Thread 

Caused by ControllerExecutionException: Runtime error executing actions 
- 1145 >> | runWorker in java.util.concurrent.ThreadPoolExecutor 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 615 | run in java.util.concurrent.ThreadPoolExecutor $ Worker 
^ 745 | run. . . in java.lang.Thread 

Caused by InvocationTargetException: null 
- 1145 >> | runWorker in java.util.concurrent.ThreadPoolExecutor 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 615 | run in java.util.concurrent.ThreadPoolExecutor $ Worker 
^ 745 | run. . . in java.lang.Thread 

Caused by UnsatisfiedLinkError: ilog.cplex.Cplex.CPXopenCPLEX ([I) J 
- 6594 >> | init in ilog.cplex.CplexI 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
| 629 | <Init> in ' 
| 11067 | <Init>. ilog.cplex.IloCplex in 
| 11082 | <Init> in ' 
| 93 | save. . agriplan.APProjectController in 
| 1145 | runWorker in java.util.concurrent.ThreadPoolExecutor 
| 615 | run. . . java.util.concurrent.ThreadPoolExecutor $ Worker in 
^ 745 | run in java.lang.Thread 

Разработчик сказал, что это от линии IloCplex CPLEX IloCplex = новый(); , что он не работает.

Я думаю, проблема это программа, которая не находит CPLEX Так что я добавить путь CPLEX в Grails Options "параметры VM":

-Djava.library.path =/Opt/IBM/ILOG/CPLEX_Studio126/CPLEX/bin/x86-64_linux 

Но у меня есть та же самая ошибка

The пользователь не забыл реализовать cplex.jar в библиотеке программ

Проблема в том, что проблема на стороне сервера или в приложении? У него есть что сказать в другом месте в IntelliJ Idea?

Должны ли мы объявить что-то еще в Idea IntelliJ?

спасибо

+0

Этот вопрос был перекрестно размещен [здесь] (https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014468725) (на IBM developerWorks Форум). – rkersh

ответ

0

Вы получаете ту же самую ошибку, если вы запускаете примеры Java погруженные с CPLEX? Чтобы проверить это, вы можете сделать следующее (предполагается, что ваш путь является правильным сверху):

$ cd /Opt/IBM/ILOG/CPLEX_Studio126/CPLEX/examples/x86-64_linux/static_pic 
$ make execute_java 2>&1 | tee output.txt 

Это позволит сохранить результат в output.txt, так что вы можете смотреть на него позже. Он должен дать вам представление о необходимых аргументах командной строки.

Например, в моей системе, я вижу это в output.txt для одного из примеров:

java -d64 -Djava.library.path=../../../bin/x86-64_linux -classpath ../../../lib/cplex.jar: LPex3 

Вы много просто нужно добавить -d64-classpath и (с правильным путем) к вашему «VM Опции "(я не использовал IntelliJ, но« Опции VM »звучит разумно).

Наконец, см. Configuring the Eclipse Java IDE to use CPLEX libraries (техническая нота IBM, которая должна дать вам представление о том, что требуется в среде IDE).