trung / InMemoryJavaCompiler

Utility class to compile java source code in memory
Apache License 2.0
267 stars 85 forks source link

cannot find newInstance() symbol #32

Open szabotakacsb opened 3 years ago

szabotakacsb commented 3 years ago

I try to compile my NC_writer class with Class<?> Netcdf_writer = InMemoryJavaCompiler.newInstance().compile("meteoread.NC_writer", sourceCode.toString());

but it is not possible because newInstance() symbol cannot be found. I can use just Class<?> Netcdf_writer = InMemoryJavaCompiler.compile("meteoread.NC_writer", sourceCode.toString());

It works in NetBeans IDE but after I built the program and I run the .jar file I get NulPointerException error. How should I fix this problem? I use InMemoryJavaCompiler-1.2

szabotakacsb commented 3 years ago

I have downloaded the InMemoryJavaCompiler-1.3.0. I could use: Class<?> Netcdf_writer = InMemoryJavaCompiler.newInstance().compile("meteoread.NC_writer", sourceCode.toString()); DataNcSource instance = (DataNcSource) Netcdf_writer.newInstance(); instance.getDataNc(); but after I run my .jar program I got the NulPointerException as well:

java.lang.NullPointerException
        at org.mdkt.compiler.InMemoryJavaCompiler.compileAll(InMemoryJavaCompiler.java:80)                                                                                     

How should I fix this error?