java.nio.charset.UnsupportedCharsetException при работе с jython - PullRequest
0 голосов
/ 28 апреля 2019

Я хотел бы создать функцию для интерпретации кода Python на Java, но когда я работаю с Jython, я получаю это исключение.

Мой код выглядит следующим образом.

PythonInterpreter interp = null;
        try{
            System.out.println("hello");
            Properties p = new Properties();
            p.setProperty("python.path", "C:/Users/.../.m2/repository/org/python/jython/2.7.0");
            p.setProperty("python.home", "C:/Users/.../.m2/repository/org/python/jython/2.7.0");
            p.setProperty("python.prefix", "C:/Users/.../.m2/repository/org/python/jython/2.7.0");
            PythonInterpreter.initialize(System.getProperties(), p, new String[] {});
            interp = new PythonInterpreter();
        }catch(Exception ex){
            ex.toString();
            //Log("Exception while creating python interpreter: "+ex.toString());
        }

        // The exec() method executes strings of code
        interp.exec("import sys");
        interp.exec("print sys");

Это мои любимые подруги:

<dependency>
            <groupId>org.python</groupId>
            <artifactId>jython</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>org.python</groupId>
            <artifactId>jython-standalone</artifactId>
            <version>2.7.0</version>
        </dependency>

это исключение, которое я получил при выполнении этого кода:

console: Failed to install '': java.nio.charset.UnsupportedCharsetException: cp0.
2019-04-28 16:33:11.459 ERROR 18008 --- [nio-8081-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause

java.lang.NullPointerException: null
    at com.oracle.services.ServicesImpl.extractPythonCode(ServicesImpl.java:37) ~[classes/:na]
    at com.oracle.controller.EndPointController.excute(EndPointController.java:23) ~[classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_181
...