Java 退出后保存Jcodemodel对象
我对JCodeModel(SUN)有一个问题。我的程序每天都在运行,我想在当前运行之前创建的类中添加一些函数 JCodel模型支持这个吗?如果没有,是否可以选择将JCodemodel对象保存在外部文件中,加载以前的JCodemodel,然后添加新函数Java 退出后保存Jcodemodel对象,java,code-generation,generated-code,sun-codemodel,jcodemodel,Java,Code Generation,Generated Code,Sun Codemodel,Jcodemodel,我对JCodeModel(SUN)有一个问题。我的程序每天都在运行,我想在当前运行之前创建的类中添加一些函数 JCodel模型支持这个吗?如果没有,是否可以选择将JCodemodel对象保存在外部文件中,加载以前的JCodemodel,然后添加新函数 谢谢。您可以使用将实例保存到文件,然后使用ObjectInputStream读取并安装它。只要控制系统并确保版本不会在一夜之间更改,这应该是安全的(尽管不寻常) 演示如何使用它: import java.io.*; public class Obj
谢谢。您可以使用将实例保存到文件,然后使用ObjectInputStream读取并安装它。只要控制系统并确保版本不会在一夜之间更改,这应该是安全的(尽管不寻常) 演示如何使用它:
import java.io.*;
public class ObjectOutputStreamDemo {
public static void main(String[] args) {
String s = "Hello world!";
int i = 897648764;
try {
// create a new file with an ObjectOutputStream
FileOutputStream out = new FileOutputStream("test.txt");
ObjectOutputStream oout = new ObjectOutputStream(out);
// write something in the file
oout.writeObject(s);
oout.writeObject(i);
// close the stream
oout.close();
// create an ObjectInputStream for the file we created before
ObjectInputStream ois =
new ObjectInputStream(new FileInputStream("test.txt"));
// read and print what we wrote before
System.out.println("" + (String) ois.readObject());
System.out.println("" + ois.readObject());
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
我得到一个异常:java.io.NotSerializableException:com.sun.codemodel.JCodeModel。。。。JCodeModel不可序列化。。。这很糟糕,那么这就行不通了。。。很抱歉您的程序是否正在生成您希望通过JCodeModel向其添加函数的原始类?您的程序最初是从什么生成的?IE:你的程序是否读入了一个模型或描述符来指导它如何生成代码?