【问题标题】:Write java class object to java source file将java类对象写入java源文件
【发布时间】:2014-11-04 06:36:19
【问题描述】:

我使用 javassist 在运行时创建了一个 pojo 对象。我想把它写到一个java文件中。我不想为这份工作写很多代码。有什么实用程序可以做到这一点吗?

例如输出应该是这样的:

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

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

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

}

【问题讨论】:

标签: java code-generation javassist


【解决方案1】:

如果您使用的是 javassist,我相信您无法编写源代码。 Javassist 仅处理字节码,因此您可以使用 CtClass.writeFile() 编写类文件。

我在另一个答案https://stackoverflow.com/a/122209/4097877 上找到了这个,这应该会有所帮助。我还没有仔细阅读,但从描述来看,它似乎可以解决你的问题。

【讨论】:

  • 不,我想要反编译之类的东西
  • 谢谢。最好的方法是反编译
  • 所以你将使用 javassist 生成字节码,然后生成一个类文件,然后反编译它。您不妨直接生成源代码,而不是额外的步骤。我做了一个简短的谷歌,但找不到任何提供反编译的 java 库,所以我猜你必须将命令作为一个单独的进程运行。
  • 是的,你是对的,但我在运行时需要对象
  • 哦,好的,我明白了。那很好,希望你能找到你要找的东西!我不确定是否有更多细节。
【解决方案2】:

尝试write-it-once 自定义生成

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 2013-10-04
    • 2016-02-29
    • 1970-01-01
    相关资源
    最近更新 更多