Попробуйте использовать следующий пример кода, используя Javascript-механизм JDK1.6 с обработкой ввода кода.
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class EvalUtil {
private static ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
public static void main(String[] args) {
try {
System.out.println((new EvalUtil()).eval("(((5+5)/2) > 5) || 5 >3 "));
System.out.println((new EvalUtil()).eval("(((5+5)/2) > 5) || true"));
} catch (Exception e) {
e.printStackTrace();
}
}
public Object eval(String input) throws Exception{
try {
if(input.matches(".*[a-zA-Z;~`#$_{}\\[\\]:\\\\;\"',\\.\\?]+.*")) {
throw new Exception("Invalid expression : " + input );
}
return engine.eval(input);
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
}
Если в этом не зарегистрировались как Проект Java, можно добавить природу Java как показано здесь .
Вот шаги:
кажется проверкой .project файла в исходном репозитории. Я предложил бы не регистрироваться в .project файле, таким образом, у пользователей может быть своя собственная версия файла. Кроме того, при использовании subclipse плагина, он позволяет Вам проверять и настраивать исходную папку как проект Java. Этот процесс создает корректный .project для Вас (с природой Java),
Мне пришлось добавить .classpath тоже формирует проект Java. Я сделал фиктивный проект Java и посмотрел в рабочей области этот фиктивный проект Java, чтобы увидеть, что требуется. Я перенес два файла. профиль и .claspath для моего извлеченного и отключенного источника от моего сервера Subversion. С тех пор он превратился в проект Java из простого старого проекта.