java代码自动化生成,代码自动生成技术

java中如何自动生成注释

你说的应该是生成javadoc吧?

成都网络公司-成都网站建设公司创新互联十载经验成就非凡,专业从事网站设计制作、成都做网站,成都网页设计,成都网页制作,软文推广广告投放平台等。十载来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:028-86922220,我们期待您的来电!

最简单方式就是使用命令行, cd到你的项目源代码目录下, 输入如下指令:

javadoc -d docs -subpackages com.yourpackage

其中-d docs指定了生成的javadoc在相对目录docs下, -subpackages com.yourpackage指定了你要被生成javadoc的源代码包.

JAVADOC是官方提供的一种生成注释文档的工具, 他的用法如下:

用法: javadoc [options] [packagenames] [sourcefiles] [@files]

-overview file                 从 HTML 文件读取概览文档

-public                          仅显示 public 类和成员

-protected                       显示 protected/public 类和成员 (默认值)

-package                         显示 package/protected/public 类和成员

-private                         显示所有类和成员

-help                            显示命令行选项并退出

-doclet class                  通过替代 doclet 生成输出

-docletpath path               指定查找 doclet 类文件的位置

-sourcepath pathlist           指定查找源文件的位置

-classpath pathlist            指定查找用户类文件的位置

-cp pathlist                   指定查找用户类文件的位置

-exclude pkglist               指定要排除的程序包列表

-subpackages subpkglist        指定要递归加载的子程序包

-breakiterator                   计算带有 BreakIterator 的第一个语句

-bootclasspath pathlist        覆盖由引导类加载器所加载的

类文件的位置

-source release                提供与指定发行版的源兼容性

-extdirs dirlist               覆盖所安装扩展的位置

-verbose                         输出有关 Javadoc 正在执行的操作的信息

-locale name                   要使用的区域设置, 例如 en_US 或 en_US_WIN

-encoding name                 源文件编码名称

-quiet                           不显示状态消息

-Jflag                         直接将 flag 传递到运行时系统

-X                               输出非标准选项的提要

通过标准 doclet 提供:

-d directory                   输出文件的目标目录

-use                             创建类和程序包用法页面

-version                         包含 @version 段

-author                          包含 @author 段

-docfilessubdirs                 递归复制文档文件子目录

-splitindex                      将索引分为每个字母对应一个文件

-windowtitle text              文档的浏览器窗口标题

-doctitle html-code            包含概览页面的标题

-header html-code              包含每个页面的页眉文本

-footer html-code              包含每个页面的页脚文本

-top    html-code              包含每个页面的顶部文本

-bottom html-code              包含每个页面的底部文本

-link url                      创建指向位于 url 的 javadoc 输出的链接

-linkoffline url url2        利用位于 url2 的程序包列表链接至位于 url 的文档

-excludedocfilessubdir name1:.. 排除具有给定名称的所有文档文件子目录。

-group name p1:p2..        在概览页面中, 将指定的程序包分组

-nocomment                       不生成说明和标记, 只生成声明。

-nodeprecated                    不包含 @deprecated 信息

-noqualifier name1:name2:... 输出中不包括指定限定符的列表。

-nosince                         不包含 @since 信息

-notimestamp                     不包含隐藏时间戳

-nodeprecatedlist                不生成已过时的列表

-notree                          不生成类分层结构

-noindex                         不生成索引

-nohelp                          不生成帮助链接

-nonavbar                        不生成导航栏

-serialwarn                      生成有关 @serial 标记的警告

-tag name:locations:header 指定单个参数定制标记

-taglet                          要注册的 Taglet 的全限定名称

-tagletpath                      Taglet 的路径

-charset charset               用于跨平台查看生成的文档的字符集。

-helpfile file                 包含帮助链接所链接到的文件

-linksource                      以 HTML 格式生成源文件

-sourcetab tab length          指定源中每个制表符占据的空格数

-keywords                        使程序包, 类和成员信息附带 HTML 元标记

-stylesheetfile path           用于更改生成文档的样式的文件

-docencoding name              指定输出的字符编码

怎么样用java代码自动生成不重复的含有数字和字母的随机码

package tests;

/**

* 随机生成32位字符串

*/

public class String32 {

public static String random(int length){//传入的字符串的长度

StringBuilder builder = new StringBuilder(length);

for(int i = 0; i length; i++){

int r = (int) (Math.random()*3);

int rn1=(int)(48+Math.random()*10);

int rn2=(int)(65+Math.random()*26);

int rn3=(int)(97+Math.random()*26);

switch(r){

case 0:

builder.append((char)rn1);

break;

case 1:

builder.append((char)rn2);

break;

case 2:

builder.append((char)rn3);

break;

}

}

return builder.toString();

}

public static void main(String[] args){

String s = String32.random(32);

System.out.println(s);

}

}

怎么把java自动化代码提交到jenkins

首先搭建起jenkins环境,android官方提供了使用ant编译打包的脚本,所以要在jenkins系统配置里面将ant配置好;然后在jenkins里面新建一个项目,这里列出比较重要的几项配置:1、项目源代码位置,一般就是指定svn吧2、构建过程添加shell,写入如下命令:androidupdateproject-t?-p?-n?(其中第一个问号处填写要使用的androidAPI版本,可在命令行中用androidlisttarget获得,第二个问号处填写项目目录,当前目录的话就用.表示,第三个问号是填写项目名称)3、然后添加ant调用,最好要会ant的基础使用这几个配置都是为了能将源代码打包成apk文件,打包完成后,可以再次调用shell,连接设备或者打开模拟器,安装应用,执行你的自动化脚本;这是一个概括的过程,。。如果要细说那就太多了,你慢慢玩弄吧

java一台电脑如何跑多个app自动化

1、首先打开电脑,并进入Java软件。

2、其次要同一个pc上并发执行多个app真机,加上bp和chromedriver端口号。

3、最后启动程序,即可跑多个app自动化。

java代码生成器怎么用

zip包,然后自动下载下来

1.预先定义好模板

2.界面输入相关参数

3.解析模板生成代码并下载

最后放出源代码:

package com.et.controller.system.createcode;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import com.et.controller.base.BaseController;

import com.et.util.DelAllFile;

import com.et.util.FileDownload;

import com.et.util.FileZip;

import com.et.util.Freemarker;

import com.et.util.PageData;

import com.et.util.PathUtil;

/**

* 类名称:FreemarkerController

* 创建人:Harries

* 创建时间:2015年1月12日

* @version

*/

@Controller

@RequestMapping(value=”/createCode”)

public class CreateCodeController extends BaseController {

/**

* 生成代码

*/

@RequestMapping(value=”/proCode”)

public void proCode(HttpServletResponse response) throws Exception{

PageData pd = new PageData();

pd = this.getPageData();

/* ============================================================================================= */

String packageName = pd.getString(“packageName”); //包名 ========1

String objectName = pd.getString(“objectName”); //类名 ========2

String tabletop = pd.getString(“tabletop”); //表前缀 ========3

tabletop = null == tabletop?””:tabletop.toUpperCase(); //表前缀转大写

String zindext = pd.getString(“zindex”); //属性总数

int zindex = 0;

if(null != zindext !””.equals(zindext)){

zindex = Integer.parseInt(zindext);

}

ListString[] fieldList = new ArrayListString[](); //属性集合 ========4

for(int i=0; i zindex; i++){

fieldList.add(pd.getString(“field”+i).split(“,fh,”)); //属性放到集合里面

}

MapString,Object root = new HashMapString,Object(); //创建数据模型

root.put(“fieldList”, fieldList);

root.put(“packageName”, packageName); //包名

root.put(“objectName”, objectName); //类名

root.put(“objectNameLower”, objectName.toLowerCase()); //类名(全小写)

root.put(“objectNameUpper”, objectName.toUpperCase()); //类名(全大写)

root.put(“tabletop”, tabletop); //表前缀

root.put(“nowDate”, new Date()); //当前日期

DelAllFile.delFolder(PathUtil.getClasspath()+”admin/ftl”); //生成代码前,先清空之前生成的代码

/* ============================================================================================= */

String filePath = “admin/ftl/code/”; //存放路径

String ftlPath = “createCode”; //ftl路径

/*生成controller*/

Freemarker.printFile(“controllerTemplate.ftl”, root, “controller/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Controller.java”, filePath, ftlPath);

/*生成service*/

Freemarker.printFile(“serviceTemplate.ftl”, root, “service/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName+”Service.java”, filePath, ftlPath);

/*生成mybatis xml*/

Freemarker.printFile(“mapperMysqlTemplate.ftl”, root, “mybatis_mysql/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);

Freemarker.printFile(“mapperOracleTemplate.ftl”, root, “mybatis_oracle/”+packageName+”/”+objectName+”Mapper.xml”, filePath, ftlPath);

/*生成SQL脚本*/

Freemarker.printFile(“mysql_SQL_Template.ftl”, root, “mysql数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);

Freemarker.printFile(“oracle_SQL_Template.ftl”, root, “oracle数据库脚本/”+tabletop+objectName.toUpperCase()+”.sql”, filePath, ftlPath);

/*生成jsp页面*/

Freemarker.printFile(“jsp_list_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_list.jsp”, filePath, ftlPath);

Freemarker.printFile(“jsp_edit_Template.ftl”, root, “jsp/”+packageName+”/”+objectName.toLowerCase()+”/”+objectName.toLowerCase()+”_edit.jsp”, filePath, ftlPath);

/*生成说明文档*/

Freemarker.printFile(“docTemplate.ftl”, root, “说明.doc”, filePath, ftlPath);

//this.print(“oracle_SQL_Template.ftl”, root); 控制台打印

/*生成的全部代码压缩成zip文件*/

FileZip.zip(PathUtil.getClasspath()+”admin/ftl/code”, PathUtil.getClasspath()+”admin/ftl/code.zip”);

/*下载代码*/

FileDownload.fileDownload(response, PathUtil.getClasspath()+”admin/ftl/code.zip”, “code.zip”);

}

}

北大青鸟设计培训:java中自动化构建工具?

一个大型的java项目的开发往往需要加载很多的各式各样的第三方jar包依赖,这时就需要专门工具来维护这些繁杂的jar包,否则各个jar包的版本问题,依赖问题会让你头很大,当多个团队协作开发时,项目的标准框架配置也需要能够快速在不同团队之间复制,另外项目从创建、开发、测试、发布的整个项目生命周期也需要专门的工具来维护。

自动化构建工具就是为了解决以上这些问题的。

目前比较主流的自动化构建工具主要有:Maven、gradle、Ant等。

其中Ant已经走下坡路,除了维护以前的老项目以外,已经基本没有公司用了。

过去几年中Maven已经成为java项目的事实构建工具,没有之一。

而近两年Gradle获得越来越多的人使用,分走了不少Maven的用户。

在这我们主要了解一下Maven和gradle。

MavenMaven是一个采用纯Java编写的开源项目管理工具。

它包含了一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(DependencyManagementSystem),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

Maven采用了一种被称之为projectobjectmodel(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中,通过该文件,Maven可以管理项目的整个生命周期,包括编译,构建,测试,发布,报告等等。

gradleGradle是一个基于ApacheAnt和ApacheMaven概念的项目自动化建构工具。

它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。

面向Java应用为主。

当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。

和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作用的是Plugin。

Gradle在默认情况下为我们提供了许多常用的Plugin,其中包括有构建Java项目的Plugin,还有War,Ear等。

徐州电脑培训发现与Maven不同的是,Gradle不提供内建的项目生命周期管理,只是javaPlugin向Project中添加了许多Task,这些Task依次执行,为我们营造了一种如同Maven般项目构建周期。


网页标题:java代码自动化生成,代码自动生成技术
当前地址:http://pwwzsj.com/article/hceogp.html