Rational Rose根据Java代码自动生成类图(教程和错误解决)

Rational Rose有个很方便的功能,将项目中的JAVA代码自动转换成UML类图。

根据Java代码自动生成UML图

1、新建一个ROSE工程,选择J2EE模板
2、如图进行操作

92119b2b044ee3fee6cd4033.jpg

xxxx

3、在出现的界面中,CLASSPATH中加入源代码的目录,加入支持的包,点’ADD RECURSIVE’点 ‘SELECT ALL‘,‘ 点REVERSE ‘,完成后没任何提示,点’DONE’结束。逆向工程完成。
4、逆向工程以后不会自动生成类图,但在logical view 和component view 里面按照你的java包结构会自动生成相应的包和类,要按照自己的要求建立类图。下面我们将所选包下的所有类显示在新建类图中:
5、ROSE里新建CLASS DIAGRAM,然后把类包一个个拖到右侧图中,点菜单上的’QUERY’下的’ADD CLASS’,确定。

Rational Rose 逆向工程(java) 常见问题解决

1、 rose逆向工程的时候,属性类型表现为:Logical View::java::lang::

解决办法:
菜单->Tools->Java/j2ee->Project
选择Fundamental Type 页面
Remoe Common JDK Classes
Add Common JDK Classes

确定即可,也许是Rose的Bug

2. rose逆向工程的时候,报错,一般是类中没有引用了一些包

在菜单view-》log 选中就能看到log window中出错信息,一般可能是找不到类,你在tools-java/j2ee-project specification里面设置好项目的相关项,比如classpath等等
解决办法:菜单->Tools->Java/j2ee->project specification,选择Class Path页面,将相应的包加入即可

来源:http://hi.baidu.com/suofang/item/254ef5f3298bf60fc6dc45ae

JSP使用JNA调用DLL函数遇到的几个问题

最近一个JSP项目需要用到分词模块,而分词模块实用C++写成的DLL库。于是上网搜各种方法,最后选择了JNA作为JSP调用DLL的工具。

JNA(Java Native Access )提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native library的函数与结构,JNA将自动实现Java接口到native function的映射。

JNA的使用方法有很多,这里只总结下我遇到的问题:

DLL放置的路径问题

JSP本身分为bean的src目录和WebRoot的脚本目录,而我们的DLL需要在src下的类中调用,于是遇到了将DLL和资源文件放置到什么地方的问题。

最后解决方法:将调用的DLL和LIB文件拷贝到C:/Windows/System32目录下可以访问。

解决过程:我试过将这些文件放到Src目录下,然后用Class.class.getResource("/").getPath()这种方法得到类的class路径,再得到资源文件的路径,结果没有成功。

DLL调用资源的路径问题

DLL可能会调用其他资源文件,比如我这里需要用到词典,路径也是个问题,不过这个较为简单,很容易解决:

将资源文件目录,拷贝到Src目录下面。在程序中使用Class.class.getResource("/").getPath()获得编译后的类所在的根目录,再连接上资源文件即可。

java环境变量配置

  1. 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08;
  2. 安装完成后,右击“我的电脑”,点击“属性”;
  3. 选择“高级”选项卡,点击“环境变量”;
  4. 在“系统变量”中,设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”;
  5. JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径D:\java\jdk1.5.0_08,此路径下包括lib,bin,jre等文件夹(此变量最好设置,因为以后运行tomcat,eclipse等都需要依*此变量);
    Path使得系统可以在任何路径下识别java命令,设为: 继续阅读java环境变量配置