免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4448 | 回复: 8
打印 上一主题 下一主题

java文件的编译顺序问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-26 16:14 |只看该作者 |倒序浏览
在读开源软件的代码的时候,经常遇到以下情况:
在a.java中有语句import b;
在b.java中有语句import c;
在c.java中有语句import a; import x;
这样导致不知道应该实现哪个类

在jbuilder和eclipse中,都是ide给做好了,编译时不用自己考虑了。可是如果要用如editplus之类的工具时就不好用了。
编译顺序应该是个top排序的问题,就象数据结构书上的课程学习的的排序,只有在《高等数学》和《离散数学》《 数据结构》等学完之后才应该学其他的课程一样。ant中的target的依赖关系也是这样一个top排序的问题。

请问有没有比较好用的饿工具可以检查出编译的先后顺序呢,我找了好久没有找到。请指点,谢谢

论坛徽章:
0
2 [报告]
发表于 2005-07-26 16:38 |只看该作者

java文件的编译顺序问题

ant不就可以吗

论坛徽章:
0
3 [报告]
发表于 2005-07-26 16:50 |只看该作者

java文件的编译顺序问题

编译的顺序本质上是软件设计的时候类之间的依赖关系。
对于比较复杂的依赖关系,不应该由编译工具来解决,而是应该在设计的时候由良好的模块化来达到目的。举个极端的例子,如果有20个类中间存在100个左右的依赖关系,那么这个软件实际上设计失败了。

另外,对于简单的互相引用(用UML表示就是三个以下的类的循环引用关系),可以直接把需要编译的几个文件名都写在一个javac命令里,由javac自己来判断。

论坛徽章:
0
4 [报告]
发表于 2005-07-26 17:01 |只看该作者

java文件的编译顺序问题

[quote]原帖由 "wolfg"]ant不就可以吗[/quote 发表:

例如一个有100个类的代码,在编译的时候我想清楚的知道哪个类先编译,哪个类后便宜的,ant可以用哪个参数来实现?

论坛徽章:
0
5 [报告]
发表于 2005-07-26 17:07 |只看该作者

java文件的编译顺序问题

原帖由 "sakulagi" 发表:
编译的顺序本质上是软件设计的时候类之间的依赖关系。
对于比较复杂的依赖关系,不应该由编译工具来解决,而是应该在设计的时候由良好的模块化来达到目的。举个极端的例子,如果有20个类中间存在100个左右的依赖关?.........


谢谢回答。
例如我在看sourceforge里的rssowl的代码,想重新自己实现,在eclipse中开发。如果知道了代码的编译顺序,那么会容易把握一些。

我就是不想让javac来判断,而想使用工具看清楚源代码编译的顺序。
另外如果引用其他包里的类,用javac是不是有一些小麻烦?

论坛徽章:
0
6 [报告]
发表于 2005-07-27 07:50 |只看该作者

java文件的编译顺序问题

如果是sf.net上的代码,应该都是用ant编译的,可以直接看一下build.xml里的依赖关系不就可以了么?只要把ant的编译过程都记录下来,就可以看到编译顺序了啊?

不过如果希望能画个依赖图之类的出来,可能需要写个小工具来分析一下。

如果是两个包里循环引用,好像就不太好了。

论坛徽章:
0
7 [报告]
发表于 2005-07-27 13:02 |只看该作者

java文件的编译顺序问题

原帖由 "sakulagi" 发表:
如果是sf.net上的代码,应该都是用ant编译的,可以直接看一下build.xml里的依赖关系不就可以了么?只要把ant的编译过程都记录下来,就可以看到编译顺序了啊?

不过如果希望能画个依赖图之类的出来,可能需要写个?.........


我是用ant的编译日志文件记录下来了,不过感觉比较怪,我在找找方法把。

多谢sakulagi热心帮助

论坛徽章:
0
8 [报告]
发表于 2005-07-27 13:42 |只看该作者

java文件的编译顺序问题

我对ant也不是很熟,有结果的话,希望能和大家分享。

论坛徽章:
0
9 [报告]
发表于 2005-07-27 16:14 |只看该作者

java文件的编译顺序问题

Maybe this is what you want
http://depfind.sourceforge.net/
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP