小编Dan*_*jul的帖子

用于生成Java源文件的Java API

我正在寻找一个生成Java源文件的框架.

像下面的API:

X clazz = Something.createClass("package name", "class name");
clazz.addSuperInterface("interface name");
clazz.addMethod("method name", returnType, argumentTypes, ...);

File targetDir = ...;
clazz.generate(targetDir);
Run Code Online (Sandbox Code Playgroud)

然后,应在目标目录的子目录中找到java源文件.

有谁知道这样的框架?


编辑:

  1. 我真的需要源文件.
  2. 我也想填写方法的代码.
  3. 我正在寻找高级抽象,而不是直接字节码操作/生成.
  4. 我还需要一个对象树中的"类的结构".
  5. 问题域是通用的:生成大量非常不同的类,没有"共同结构".

解决方案
我根据您的答案发布了2个答案... 使用CodeModelEclipse JDT.

我在我的解决方案中使用了CodeModel,:-)

java eclipse code-generation

124
推荐指数
5
解决办法
5万
查看次数

如何配置git以避免意外的git推送

在git clone之后,新repo中的配置如下所示:

remote.origin.url=<some url>
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
Run Code Online (Sandbox Code Playgroud)

然后,我可以执行"git pull"和"git push".但我只对"git pull"感兴趣,因为我想推进另一个回购.

我能做的一件事是:

git add remote repo-for-push <some other url>
git push repo-for-push master
Run Code Online (Sandbox Code Playgroud)

但我想配置git使用默认和不同的存储库进行拉取和推送,即:

git pull # pulls from origin
git push # pushes into repo-for-push, avoiding accidental push into the origin
Run Code Online (Sandbox Code Playgroud)

如何配置?提前致谢.

编辑:
基本上,我想设置默认的push repo与默认的fetch/pull repo不同.

git

34
推荐指数
3
解决办法
1万
查看次数

在远程存储库中创建一个git symbolic ref

在我的远程裸存储库中,HEAD指向"refs/heads/master",我希望它指向"refs/heads/other".

我无法进入远程存储库目录并运行git symbolic-ref.是否有任何git命令来实现它?还是其他任何方式?

如果没有办法,Github是否允许改变HEAD?

提前致谢.

git github master head git-branch

14
推荐指数
1
解决办法
6115
查看次数

是时候在Eclipse中开发一个选项来修改Java文件源了

我正在评估开发Eclipse插件以修改某些Java文件的源代码的可能性.

Eclipse插件应该:

  1. 添加一个菜单选项或上下文菜单选项以启动修改过程.
  2. 添加键绑定
  3. 只有在Java文件上打开编辑器时才会以这种方式更改UI.
  4. 修改过程不会打开一个对话框,也可能是一个非常简单的对话框.
  5. 修改过程将遍历Java文件的AST并修改它.

考虑到我们没有使用Eclipse插件的经验,我们需要花时间阅读文档,您在开发该插件时估计了多少时间?

提前致谢.

eclipse code-generation eclipse-plugin

5
推荐指数
1
解决办法
985
查看次数