java janino_java - 使用Janino编译Java(中断的Classpath) - 堆栈内存溢出

本文介绍了在使用Janino编译Java类时遇到的由于Java 5限制导致的问题,以及尝试通过切换到JAVAC以解决限制。然而,这一改变引发了`NoClassDefFoundError`,主要原因是缺少`com.sun.tools.javac.main.Main$Result`类。文章讨论了这可能与类路径相关,并寻求如何配置编译器的Classpath以解决该问题。
摘要由CSDN通过智能技术生成

我正在尝试用Janino编译非常简单的类:

import org.codehaus.commons.compiler.CompileException;

import org.codehaus.janino.ClassBodyEvaluator;

import java.io.IOException;

import java.io.StringReader;

public class JaninoTest{

public static void main(String[] args) throws IOException, CompileException {

String sampleClass =

"public class Test {" +

"public void sampleMethod() {\n" +

" JsonObject obj = new JsonObject();\n" +

" obj.add(\"p1\", new JsonPrimitive(2));\n" +

" System.out.println(obj.get(\"p1\"));\n" +

"}" +

"}";

ClassBodyEvaluator classBodyEvaluator = new ClassBodyEvaluator();

classBodyEvaluator.setParentClassLoader(Thread.currentThread().getContextClassLoader());

classBodyEvaluator.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值