2014-10-06 33 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