精华内容
下载资源
问答
  • Graffiti - a jar file dependency generatorGraffiti is a java library for generating relationships betwwen the classes in a jar file. Graffiti helps you bring the relationships to life using visual rep...

    Graffiti - a jar file dependency generator

    Graffiti is a java library for generating relationships betwwen the classes in a jar file. Graffiti helps you bring the relationships to life using visual representations. It generates bootsrap based html files containing the visual representation of the relationships among the classes. It also generates many other useful statistics about the jar like :

    Information about maven dependencies

    Number of classes; interfaces; abstract classes

    Required java version

    Attributes and Methos level details

    It is NOT a UML diagram modelling tool

    Features

    Writte in core java

    Generates beautiful Bootstrap html files.

    Generates individual dot files as well for directed graphs.

    Easy to use.

    Works on Mac, Linux and Windows

    Installation

    There are two versions of graffiti available. The WebVersion allows you to upload your jar file and without any hassle it generates the output which will be available for download as a zip package. All you need to do is to browse to the index.html of the extracted package and open it in a browser.

    The other option is to download the graffiti package from github repository and build the same using java 1.8 version. This requires the following pre-requisites to be available on your machine :

    After the download please follow the following instructions to build and run graffiti on your machine :

    $ cd /path/to/downloaded/graffiti

    $ java -jar graffiti-core-0.0.1.jar /path/to/jar/to/analyse /path/to/output/dir /path/to/dot/executable

    Output##

    The output for both the web based version and standalone version is a collection of bootstrap based html files that contains the required informaion about the jar file. In case of the web based version, the same is packaged as a zip file and is available instantaneously for download. The basic structure of the output directory is as follows :

    .

    ├── index.html and other html files

    ├── css

    ├── dot

    ├── images

    └── js

    #License# The MIT License (MIT)

    Copyright (c) 2016 Sumit Gaur

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    展开全文
  • Java读取CSV插入Neo4j并生成Echarts关系图
  • 弹出一个对话框,在General模块下Model Name里写需要生成的文件名称,Object Language选择java4;点击确定进入下一个对话框,在selection模块下Reverse Engineer选择java directiories5;在左下角...

    1;打开PowerDesigner

    2;file—>Reverse Engineer—>Object Language...

    3;弹出一个对话框,在General模块下Model Name里写需要生成的文件名称,Object Language选择java

    4;点击确定进入下一个对话框,在selection模块下Reverse Engineer选择java directiories

    5;在左下角点击add选择需要生成类图的java包  

    6;点击确定,ok

    展开全文
  • 我不确定命令行工具,但我喜欢将ObjectAid用于逆向工程到类图中:您可以轻松地将任何类与其关系添加到ObjectAid.它使用ucls扩展名将文件保存为XML格式.以下是一个示例:always-add-relationships="true" ...

    我不确定命令行工具,但我喜欢将ObjectAid用于逆向工程到类图中:

    您可以轻松地将任何类与其关系添加到ObjectAid图.它使用ucls扩展名将文件保存为XML格式.以下是一个示例:

    always-add-relationships="true" generalizations="true" realizations="true"

    associations="true" dependencies="true" nesting-relationships="true">

    name="my.classpath.common.controllers.AuthenticationInterceptor"

    project="MyProject"

    file="/SpecialPath/common/controllers/AuthenticationInterceptor.java"

    binary="false" corner="BOTTOM_RIGHT">

    initial-value="false" signature="true" accessors="true" visibility="true">

    private="true" static="true" />

    private="true" static="true" />

    name="my.classpath.common.domain.CompanyAssignmentLocation" project="MyProject"

    file="/SpecialPath/common/domain/CompanyAssignmentLocation.java"

    binary="false" corner="BOTTOM_RIGHT">

    initial-value="false" signature="true" accessors="true" visibility="true">

    private="true" static="true" />

    private="true" static="true" />

    name="my.classpath.common.domain.LocationsSpreadsheetReader" project="MyProject"

    file="/SpecialPath/common/domain/LocationsSpreadsheetReader.java"

    binary="false" corner="BOTTOM_RIGHT">

    initial-value="false" signature="true" accessors="true" visibility="true">

    private="true" static="true" />

    private="true" static="true" />

    project="MyProject" file="/SpecialPath/common/domain/Stock.java"

    binary="false" corner="BOTTOM_RIGHT">

    initial-value="false" signature="true" accessors="true" visibility="true">

    private="true" static="true" />

    private="true" static="true" />

    project="MyProject" file="/SpecialPath/common/util/FilesUtil.java"

    binary="false" corner="BOTTOM_RIGHT">

    initial-value="false" signature="true" accessors="true" visibility="true">

    private="true" static="true" />

    private="true" static="true" />

    project="MyProject" file="/SpecialPath/common/util/MyProjectUtil.java"

    binary="false" corner="BOTTOM_RIGHT">

    initial-value="false" signature="true" accessors="true" visibility="true">

    private="true" static="true" />

    private="true" static="true" />

    project="MyProject" file="/SpecialPath/common/util/SpringUtil.java"

    binary="false" corner="BOTTOM_RIGHT">

    initial-value="false" signature="true" accessors="true" visibility="true">

    private="true" static="true" />

    private="true" static="true" />

    name="my.classpath.common.util.MyProjectUserUtil" project="MyProject"

    file="/SpecialPath/common/util/MyProjectUserUtil.java" binary="false"

    corner="BOTTOM_RIGHT">

    initial-value="false" signature="true" accessors="true" visibility="true">

    private="true" static="true" />

    private="true" static="true" />

    project="MyProject" file="/SpecialPath/common/util/UnitConversion.java"

    binary="false" corner="BOTTOM_RIGHT">

    initial-value="false" signature="true" accessors="true" visibility="true">

    private="true" static="true" />

    private="true" static="true" />

    package="true" initial-value="false" signature="true" accessors="true"

    visibility="true">

    private="true" static="true" />

    private="true" static="true" />

    您也可以使用PlantUML,但是反向工程比逆向工程更好:

    PlantUML有其自己独特的语法,您也可以获得源代码,但它并不像ObjectAid那么简单

    这两个都作为eclipse插件,对不起,我不知道更多关于任何可能做你所要求的命令行工具.

    展开全文
  • Java图片验证码简单生成

    万次阅读 2020-02-08 15:35:00
    生成验证码图片主要通过Java AWT中的Graphics对象画图操作,实际操作中,Controller接口可以接收前端随机参数,并保存该参数和生成的验证码的缓存关系,当提交表单时,用于校验表单中的随机码和验证码。 下面通过...

    生成验证码图片主要通过Java AWT中的Graphics对象画图操作,实际操作中,Controller接口可以接收前端随机参数,并保存该参数和生成的验证码的缓存关系,当提交表单时,用于校验表单中的随机码和验证码。

    下面通过单元测试简单调试验证码图片的生成。

    package com.study.demo.util;
    
    import org.junit.Test;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Random;
    
    
    public class CaptchaCodeUtilTest {
    
        private Random random = new Random();
        private int width = 160;
        private int height = 80;
    
        @Test
        public void draw(){
        	// 获取图片验证码,可以保存至缓存中
            drawCaptchaCode(getRandomStr());
        }
    
        private void drawCaptchaCode(String captchaCode){
        
        	// BufferedImage是Image的一个子类,Image和BufferedImage的主要作用就是将一副图片加载到内存中。
            BufferedImage buffImg = new BufferedImage(width,height, BufferedImage.TYPE_INT_RGB);
            // Graphics类是所有图形上下文的抽象基类,允许应用程序绘制在各种设备上实现的组件,以及屏幕上的图像
            Graphics graphics = buffImg.getGraphics();
    
            // 设置背景色(范围)
            int bcb = 200, bce = 255;
            graphics.setColor(getRandomColor(bcb, bce));
            graphics.fillRect(0, 0, width, height);
            // 设置干扰线
            drawLine(graphics);
            // 填充字符
            drawString(graphics, captchaCode);
    
            try {
            	// 输出到某个文件中
                OutputStream os = new FileOutputStream(new File("F:/Test/code.png"));
                ImageIO.write(buffImg, "png", os);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    	/**
    	 * 填充字符串
    	 */
        private void drawString(Graphics graphics, String captchaCode) {
            char [] chars = captchaCode.toCharArray();
            int x = 5;
            for (char aChar : chars) {
                int size = 40 + random.nextInt(30);
                Font font = getRandomFont(size);
                FontMetrics fm = sun.font.FontDesignMetrics.getMetrics(font);
                int fontWidth = fm.charWidth('A');
                graphics.setFont(getRandomFont(size));
                graphics.setColor(getRandomColor(0, 200));
                graphics.drawString(String.valueOf(aChar), x + 5, height - random.nextInt(15));
                x += fontWidth;
            }
    
        }
    
        /**
         * 设置干扰线
         * abstract void	drawLine(int x1, int y1, int x2, int y2)
         * 在该图形上下文的坐标系中的点 (x1, y1)和 (x2, y2)之间绘制一行,使用当前颜色
         */
        private void drawLine(Graphics graphics) {
            float [] lineWith = new float[]{1f,2f,3f,4f,5f};
            for (int i = 0; i < 10; i ++) {
                int y1 = 5 + random.nextInt(height - 10);
                int y2 = 5 + random.nextInt(height - 10);
                Graphics2D g2 = (Graphics2D)graphics;
                // 设置线条粗细
                g2.setStroke(new BasicStroke(lineWith[random.nextInt(lineWith.length)]));
                g2.setColor(getRandomColor(1, 255));
                g2.drawLine(0, y1, width, y2);
            }
        }
    
        /**
         * 获取随机颜色
         * 范围:1 - 255
         */
        private Color getRandomColor(int begin, int end){
            int r = begin + random.nextInt(end - begin);
            int g = begin + random.nextInt(end - begin);
            int b = begin + random.nextInt(end - begin);
            return new Color(r, b, g);
        }
    
        /**
         * 获取随机字体
         */
        private Font getRandomFont(int size) {
            List<Font> fonts = new ArrayList<>();
            fonts.add(new Font("Ravie", Font.PLAIN, size));
            fonts.add(new Font("Fixedsys", Font.PLAIN, size));
            fonts.add(new Font("Antique Olive Compact", Font.PLAIN, size));
            fonts.add(new Font("Gill Sans Ultra Bold", Font.PLAIN, size));
            fonts.add(new Font("Wide Latin", Font.PLAIN, size));
            return fonts.get(random.nextInt(fonts.size()));
        }
    
        /**
         * 得到随机字符
         */
        private String getRandomStr() {
            String charStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
            String randomStr = "";
            for (int i = 0; i < 4; i++) {
                int index = random.nextInt(charStr.length());
                randomStr = randomStr.concat(String.valueOf(charStr.charAt(index)));
            }
            return randomStr;
        }
    }
    
    

    运行单元测试后,本地生成的图片如下:
    在这里插入图片描述

    展开全文
  • Java读取CSV用Load命令插入Neo4j与JDBC读取Neo4j数库生成Echarts关系图 需要注意的是 1.自己改jdbc用户名密码 2.插入数据时,csv需要放在你的数据库下的import文件夹 3.查询数据库生成Echarts关系图时自己下载Echarts...
  • 今天接到一个生成Echars关系图的需求,本来认为下班前两个小时就搞定了,但是使用Dom4j生成的过程中仍然很繁琐,也没有在网上找到源代码(可能是我太笨了),所以就自己记录一下。 我们要实现的图是: 这个. 全程...
  • DbSchema 8 for Mac是mac上一款非常实用的商业数据库ER绘制软件,可以轻松的对文档进行注释或标注,而且Dbschema集成了SQL和数据工具,能生成直观的图表、PDF文件或HTML 5文档等,非常的实用。现在就来给大家分享...
  • Java生成动态树形

    2020-09-28 20:02:19
    创建一个数据库操作接口的实现类,将需要遍历父子关系的实体类的id和父id存进该类,最终使用工具类统一遍历。 再创建一个实体类,用get和set方法把数据库的表映射到java对象中 然后在servlet控制层中处理post请求...
  • 本文将展示如何使用linux perf工具生成java程序的火焰。火焰大致长这个样子:火焰的横轴表示方法耗时百分比,某个方法占用横轴越长表示占用的CPU越多,纵轴表示函数调用关系,顶端表示调用的栈顶。使用perf...
  • 1. 什么是UML定义:统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、...wiki关系分类泛化关系 gene...
  • 本文将展示如何使用linux perf工具生成java程序的火焰。火焰大致长这个样子:火焰的横轴表示方法耗时百分比,某个方法占用横轴越长表示占用的CPU越多,纵轴表示函数调用关系,顶端表示调用的栈顶。linux perf...
  • 直接将zip解压到eclipse install path / dropins目录下,重启eclipse即可
  • 免费软件,可自动分析C/C++/Java/Python/C#/Objective-C等项目的源代码并生成流程图和函数调用关系图
  • 用于构建程序依赖关系图的当前可用框架依赖于编译后的源代码,这需要解决依赖关系。 结果,这些框架无法应用于分析无法自动解决依赖关系的遗留代码库,也无法应用于无法解决依赖关系的大型代码库。 在本文中,我们...
  • 自动生成函数调用关系图

    热门讨论 2013-09-06 20:21:17
    自动生成c++函数调用关系图,里面包含了所有要用到的软件,一站式服务;...改一改配置文件,应该还可以生成c,java,c#语言的调用关系图,本人亲测的是c++ 老师再也不用担心我的调用关系图了。 ^v^ ^o^ ^v^
  • 代码如下所示,我只想知道各类之间,各类与接口之间,以及主运行类与各类和接口之间的关系要如何表示。我知道FederationClass继承StarShip,GalaxyClass和CostitutionClass分别继承...代码如下所示,我只想知道...
  • 而环形则是饼图的一种变形,在视觉上,环形去掉了中心的部分,但其主要功能依旧是诠释数据间的占比关系。本文将介绍如何借助FreeSpire.XLS for Java使用代码在Excel文档中创建饼图和环形。基本步骤:2. 将lib...
  • 最小生成树是理论中的一种最常见的应用,他是用最小的边连接所有的顶点。他们之间用最少量的边保证了他们彼此联通,这就组成了最下生成树。对于给定的顶点和边,可能有多种最小生成树,最小生成树边E的数量总比...
  • 免费软件,可自动分析C/C++/Java/Python/C#/Objective-C等项目的源代码并生成函数调用关系图,支持源代码定位,可快速查找调用链
  • 前一篇讲完了一对多的关系,通过与JDBC对比应该能发现,是不是比JDBC简单了很多?我们只需要把对象只间的包含或对应关系理清楚,完全不用我们自己来写SQL语句。所以使用hibernate框架后,我们的关注重点是业务逻辑,...
  • 使用Java生成思维导图

    千次阅读 2020-05-01 22:14:26
    使用Java生成思维导图 前言 最近因为一些原因需要做一些资料管理,准备建一个文件夹,然后对各种资料做一个分类,每个分类做一个文件夹。 可以想象,随着资料数量和种类的增多,文件层级关系的增加,以后需要查一个...
  • 我不确定命令行工具,但我喜欢将ObjectAid用于逆向工程到类图中:您可以轻松地将任何类与其关系添加到ObjectAid.它使用ucls扩展名将文件保存为XML格式.以下是一个示例:always-add-relationships="true" ...
  • 如何用java根据数据库中的关系表来生成拓扑关系图,体现出一个人下的好友,就像facebook用户下所关联的其他好友!
  • WALA之源代码生成调用关系图

    千次阅读 2019-03-21 21:46:31
    步骤2 支持横向剪切调用关系图,就是保留自有方法调用自有方法,自有方法调用核心方法(jdk方法),去掉核心方法调用核心方法去掉。wala已经实现的剪切是按照lib库裁剪,比如将java/lang/*都...
  • ERDiagram:实体关系图代码生成器 现场演示 您可以使用应用程序在线尝试ERDiagram 。 在那里,您将找到一些代码示例,这些示例对于学习ERDiagram语言非常有用。 支持的输出格式 数据库创建脚本(SQL) MySQL ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 864
精华内容 345
关键字:

java生成关系图

java 订阅