2014-10-06 62 views
0

我在运行时使用javassist创建了pojo对象。我想写它到一个Java文件。我不想为这份工作写很多代码。这样做有没有用处?将java类对象写入java源文件

例如输出应该是这样的:

@Annotations 
public class MyClass{ 
    @Id 
    private String id; 

    @Column  
    public String getId(){ 
     return id; 
    } 

    public void setId(String id){ 
     this.id=id;  
    } 

} 
+1

http://stackoverflow.com/questions/23217891/decompile-a-class-file-programmatically – ares 2014-10-06 11:14:50

+0

@ares你的答案是正确的。写下你的答案接受 – Pooya 2014-10-06 12:07:54

回答

1

如果你使用了Javassist我相信你可以不写源。 Javassist仅处理字节码,因此您可以使用CtClass.writeFile()编写一个类文件。

我在另一个答案中找到了这个https://stackoverflow.com/a/122209/4097877这应该有所帮助。我还没有正确的阅读,但通过描述,它看起来会解决您的问题。

+0

不,我要类似反编译 – Pooya 2014-10-06 11:16:43

+0

谢谢。最好的方法是反编译 – Pooya 2014-10-06 12:13:24

+0

所以你会用javassist生成字节码,然后生成一个类文件然后反编译它。您不妨直接生成源代码,而不是额外的步骤。我做了一个简短的Google,但无法找到任何提供反编译的Java库,因此您必须将该命令作为单独的进程运行,我猜。 – 2014-10-06 12:32:33