- Some jenkins settings
SnC_
Jenkins连接到特定gitlabproject的特定branch我采用的方法是在pipeline的script中使用git命令来指定branch。如下:stage('Clonerepository'){steps{gitbranch:'develop',credentialsId:'gitlab-credential-id',url:'http://gitlab.com/repo.git'}}
- 主流行架构
rainbowcheng
架构架构
nexus,gitlab,svn,jenkins,sonar,docker,apollo,catteambition,axure,蓝湖,禅道,WCP;redis,kafka,es,zookeeper,dubbo,shardingjdbc,mysql,InfluxDB,Telegraf,Grafana,Nginx,xxl-job,Neo4j,NebulaGraph是一个高性能的,NOSQL图形数据库
- MySQL用户权限管理
hzw0510
MySQLmysqloracle数据库
创建/授权用户创建用户格式创建用户命令一般格式:createuser[用户名]@[访问地址]identifiedby[密码]举例1:创建zhangsan用户,只是创建用户并没有权限,'localhost'表示只能在本地登录,无法通过远程连接;密码是passwordCREATEUSER'zhangsan'@'localhost'
- k8s集群部署:centos arm 部署Jenkins、harbor
亦诗亦诗
k8skubernetescentosarm开发
如果因网络问题,无法通过下方链接下载相关包的话,可通过以下链接进行下载:jenkins:https://download.csdn.net/download/qq_34322136/89734306harbor:https://download.csdn.net/download/qq_34322136/89734276一、安装jenkins1、下载Jenkins安装包下载#下载war包https
- 6.11 linux内核管理 :内核版本
阳光的王小草
linux整理linux内核版本
6.11linux内核管理:内核版本cat/proc/versionLinuxversion3.10.0-229.4.2.el7.x86_64(
[email protected])(gccversion4.8.220140120(RedHat4.8.2-16)(GCC))#1SMPWedMay1310:06:09UTC2015uname-aLinuxjenkins3.1
- JMETER+ANT+JENKINS持续集成并生成html报告
qq_40447533
jmeter持续集成
1.下载ant2.配置build.xml文件3.在本地运行antrun4.部署到jenkins上5.在jenkins上查看测试报告jenkins-HTMLreport没有css样式问题注;如果运行后还是没有css样式,清理缓存试试对于测试报告来说,除了内容的简洁精炼,样式的美观也很重要。常用的做法是,采用HTML格式的文档,并搭配CSS和JS,实现自定义的样式和动画效果(例如展开、折叠等)。在Je
- 「 自动化测试 」面试题..
测试界筱筱
软件测试servlet功能测试软件测试自动化测试程序人生职场和发展
1.你会封装自动化测试框架吗?自动化框架主要的核心框架就是分层+PO模式:分别为:基础封装层BasePage,PO页面对象层,TestCase测试用例层。然后再加上日志处理模块,ini配置文件读取模块,unittest+ddt数据驱动模块,jenkins持续集成模式组成。2.自动化测试的使用场景?需求稳定,不会频繁变更。研发和测试周期长,需要频繁执行回归测试。需要在多种平台上重复运行相同测试的场景
- Docker Compose——MySQL 8.x,adminer,gitlab,Jenkins,tomcat
小龙Hibernation
docker运维dockermysql
DockerComposedocker三剑客之一#下载1.25.0dockercomposesudocurl-L"https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-compose#添加可执行权限sudochmo
- gitlab+habor+jenkins+k8s 安装流程及配置实现CICD
爱摄影的程序猿
开发工具devopsCICDdevopsjenkinsgitlab
以下是基本的安装流程及配置实现CICD的步骤:安装GitLab:安装依赖项:yuminstallcurlpolicycoreutils-pythonopenssh-server启动和设置SSH:systemctlenablesshd&&systemctlstartsshd安装Postfix:yuminstallpostfix添加GitLab仓库:curlhttps://packages.gitla
- Build step ‘Execute shell‘ marked build as failure
玉梅小洋
FAQjenkins
问题现象Jenkins构建时运行脚本报错时:Buildstep'Executeshell'markedbuildasfailureFinished:FAILURE解决方法1.磁盘空间不足导致报错。2.请在执行的shell脚本中第一行加#!/bin/bash#!/bin/bash......注意#!/bin/bash只能放在第一行3.如果2还是不行,那么将#!/bin/bash替换为#!/usr/b
- Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions
让梦想疯狂
Dockerdocker
Docker容器运行后一直重启,通常意味着容器内的应用程序遇到了问题并且崩溃了。Jenkins容器可能因为挂载的卷的权限问题无法写入。以下是一些常见的解决方法:检查容器日志:dockerlogs调整宿主机目录的权限sudochown-R1000/path/jenkins_home
- Jenkins 通过 Version Number Plugin 自动生成和管理构建的版本号
让梦想疯狂
Jenkinsjenkins
步骤1:安装VersionNumberPlugin登录Jenkins的管理界面。进入“ManageJenkins”->“ManagePlugins”。在“Available”选项卡中搜索“VersionNumberPlugin”。选中并安装插件,完成后可能需要重启Jenkins。步骤2:配置版本号生成打开项目配置页面。在下方找到“BuildEnvironment”,勾选“Createaformat
- jenkins配置流水线
iteye_10392
jenkinsjenkinselasticsearch运维
新建任务,随便选一个名字,选中流水线配置git的用户名和密码,记录ID,后面配置流水线的时候用。pipeline{agentanystages{stage('stopapp'){steps{script{defremote=[:]//配置服务地址,用户名和密码remote.name='prd'remote.host='114.116.1.1'remote.user='test'remote.pas
- jenkins安装 sshCommand
iteye_10392
jenkinsjenkinsservletjava
在Jenkins中安装SSH插件(例如“SSHPipelineSteps”或“SSHIntegrationPlugin”)可以让你通过JenkinsPipeline或自由风格项目执行远程SSH命令或脚本,从而自动化部署过程或其他任务。下面是如何安装“SSHPipelineSteps”插件的步骤:安装SSHPipelineSteps插件登录到Jenkins并进入管理员界面。导航到插件管理页面。通常,
- 部署一套完整的架构系统有哪些步骤
missterzy
JAVA基础服务器分布式与微服务架构jenkinsk8sdocker服务器
前言如果以java、Jenkins(自动化部署)、docker(容器化部署)、k8s(兼容前两个)如果搭建一个商业系统,我们需要准备哪些?架构图1、环境准备准备一台或多台服务器作为宿主机,确保服务器操作系统已安装(例如Linux);安装Docker环境,宿主机需要支持容器化技术;安装Kubernetes集群环境,可以选择Minikube作为本地测试环境或其他方案例如kubeadm、kops等用于搭
- 【DevOps工具链整合】Jenkins、GitLab、Docker、Kubernetes
爱技术的小伙子
devopsjenkinsgitlab
DevOps工具链整合:Jenkins、GitLab、Docker、Kubernetes目录引言DevOps简介工具介绍JenkinsGitLabDockerKubernetes工具链整合的意义DevOps工具链整合实践环境准备GitLab的CI/CD集成Jenkins的使用Docker容器化Kubernetes部署整合中的挑战及解决方案案例分析结论引言在现代软件开发中,DevOps已经成为提升开
- DevOps实战:使用GitLab+Jenkins+Kubernetes(k8s)建立CI_CD解决方案
北京少女的梦
devopsgitlabjenkins
一.系统环境本文主要基于Kubernetes1.21.9和Linux操作系统CentOS7.4。服务器版本docker软件版本Kubernetes(k8s)集群版本CPU架构CentOSLinuxrelease7.4.1708(Core)Dockerversion20.10.12v1.21.9x86_64CI/CD解决方案架构图:CI/CD解决方案架构图描述:程序员写好代码之后,向gitlab代码
- 【SpringCloud微服务实战10】DevOps自动化部署微服务项目(Jenkins+Docker+K8s)
李维山
Javaspringcloud微服务jenkinsdockerk8s
一、什么是DevOpsDevOps是一种重视软件开发人员(Developer)和运维人员(Operations)之间沟通与协作的文化、运动或实践,目标在于快速交付高质量的软件产品和服务。DevOps强调自动化流程、持续集成与交付(CI/CD)、以及通过工具链、敏捷方法论和跨职能团队协作来增强软件的可靠性和安全性。在DevOps中,开发、测试、部署和监控等多个环节紧密连接,形成一个高效的工作流。以下
- 在jenkins中获取git的修改记录的方法
雨声不在
生活jenkinsgit
获取JenkinsAPIToken:首先,登录到你的Jenkins服务器。点击右上角的用户名,然后选择“Configure(配置)”。在“APIToken”部分,生成一个新的APIToken或使用已有的Token。构建API请求URL:假设你的Jenkins服务器URL是http://jk.yeshen.orgJob名称是test-git-log,编译的序号是10,那么API请求URL可能是:ht
- gitee推送代码无法触发jenkins构建
aaqqwwssr
giteejenkins
gitee的webhook测试一直是404,原因是我更改完jenkins端口号后没有在系统管理里面修改jenkins的设置如下:这两个端口要保持一致ps:gitee的webhooks测试失败显示404不要急,应该是gitee请求本身的问题直接从新推送一下代码测试就可以成功了
- 代码检查工具Sonar
我是谁??
ToolsSonar
sonar介绍Sonar是一个用于代码质量管理的开放平台。通过插件机制,Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如Hudson/Jenkins等)不同,Sonar并不是简单地把不同的代码检查工具结果(例如FindBugs,PMD等)直接显示在Web页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规
- /var/lib/docker/overlay2 占用很大,清理Docker占用的磁盘空间
@小匠
运维docker容器运维
今天收到一个磁盘告警,告警的原因是一台Jenkins机器上某个磁盘空间满了。马上使用df-h命令看下使用情况上图是我优化后的截图,告警的时候磁盘使用量已经接近100%。上图中看到的overlay分区是Docker的虚拟文件系统,其真实的文件系统是/dev/vda1。所以我们要找到是什么原因大量占据了/dev/vda1。一般有两种情况。无用的镜像和容器太多我们可以使用以下命令大致看下情况docker
- jenkins+docker实现可持续自动化部署springboot项目
小码农叔叔
linux与容器实战持续集成微服务治理与实战jenkins+dockerjenkins实现可持续集成jenkins集成docker
目录一、前言二、微服务带来的挑战2.1微服务有哪些问题2.2微服务给运维带来的挑战三、可持续集成与交付概述3.1可持续集成与交付概念3.1.1持续集成3.1.2持续交付3.1.3可持续集成与交付核心理念3.2可持续集成优点3.3微服务为什么需要可持续集成四、可持续集成方案4.1可持续集成常用工具4.2常用可持续集成方案4.3jenkins介绍五、环境准备5.1部署架构与流程5.2服务器准备5.3搭
- Jenkins+docker+springboot 一键自动部署项目步骤
蔡定努
SpringBoot#docker运维jenkinsdockerspringboot
Jenkins+docker+springboot一键自动部署项目步骤部署环境:centos+gitee+docker+springboot实现步骤:docker安装jenkins配置jenkins利用Dockerfile和shell脚本实现项目打包运行安装dockerdocker安装社区版本CE安装需要的软件包yum install -y yum-utils device-mapper-pers
- 服务器停机重启后jenkins启动失败,解决办法
面包会有的,牛奶也会有的。
服务器jenkinsservlet
前几天服务器突然停机重启了,重启后发现jenkins服务停了,去启动的时候启动不了原因:服务器停机重启后,配置的jenkins文件的jdk目录失效了,恢复成了一开始的jdk目录解决办法:重新去/etc/init.d下的jenkins文件中配置jdk再次启动即可。错误信息:6085ExecStart=/usr/bin/jenkins(code=exited,status=1/FAILURE)[roo
- 如何在无头模式下运行WebDriver
爱码小士
如何在无头模式下运行WebDriver?如果您的CI工具(例如Jenkins)不支持UI,则可能需要这样做。在无头模式下运行WebDriver自动测试在测试执行速度和更轻松地集成到CI管道方面具有优势。下面,我们将使用PhantomJS和ChromeDriver以无头模式运行SeleniumWebDriver测试。PhantomJS要使用PhantomJS以无头模式运行WebDriver测试,首先
- Jmeter+ant+jenkins接口自动化测试框架
测试老哥
jmeterjenkinspython软件测试自动化测试测试用例压力测试
视频学习:文末有免费的配套视频可观看点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件;Ant是基与java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具。将这三者结合起来可以搭建一套WebHTTP接口测试的持续构建环境,实现接口自动化测试,pc系统Windows。1、安装就jmet
- 介绍新的 GitLab 分支源插件
yJunS
本文首发于:Jenkins中文社区原文链接作者:baymac译者:DonghuiWang介绍新的GitLab分支源插件新的GitLab分支源插件,允许您基于GitLab用户或组或子组项目创建任务gitlab_and_jenkinsGitLab分支源插件已经走出beta阶段,并已发布到Jenkins更新中心。它允许您基于GitLab用户或组或子组项目创建任务。您可以:从GitLab用户/组/子组导入
- 在Jenkinsfile中,自定义environment相关参数
闫小甲
jenkinsjenkinsfile
在Jenkinsfile中,environment定义VER,若BRANCH_NAME是master,则VER为master,其他为latestpipeline{agentanyenvironment{CURTIME=sh(returnStdout:true,script:'date"+%Y%m%d%H%M%S"').trim()VER=sh(returnStdout:true,script:""
- docker 容器中jenkins 显示时间 时区不对
逑痕
dockerdockerjenkins容器
docker容器中jenkins显示时间时区不对根据官方文档,可以根据不同用户为不同用户设置时区原文https://www.jenkins.io/doc/book/using/change-time-zone/进入用户列表,选择要用户,修改用户设置中的时区即可。
- ztree设置禁用节点
3213213333332132
JavaScriptztreejsonsetDisabledNodeAjax
ztree设置禁用节点的时候注意,当使用ajax后台请求数据,必须要设置为同步获取数据,否者会获取不到节点对象,导致设置禁用没有效果。
$(function(){
showTree();
setDisabledNode();
});
- JVM patch by Taobao
bookjovi
javaHotSpot
在网上无意中看到淘宝提交的hotspot patch,共四个,有意思,记录一下。
7050685:jsdbproc64.sh has a typo in the package name
7058036:FieldsAllocationStyle=2 does not work in 32-bit VM
7060619:C1 should respect inline and
- 将session存储到数据库中
dcj3sjt126com
sqlPHPsession
CREATE TABLE sessions (
id CHAR(32) NOT NULL,
data TEXT,
last_accessed TIMESTAMP NOT NULL,
PRIMARY KEY (id)
);
<?php
/**
* Created by PhpStorm.
* User: michaeldu
* Date
- Vector
171815164
vector
public Vector<CartProduct> delCart(Vector<CartProduct> cart, String id) {
for (int i = 0; i < cart.size(); i++) {
if (cart.get(i).getId().equals(id)) {
cart.remove(i);
- 各连接池配置参数比较
g21121
连接池
排版真心费劲,大家凑合看下吧,见谅~
Druid
DBCP
C3P0
Proxool
数据库用户名称 Username Username User
数据库密码 Password Password Password
驱动名
- [简单]mybatis insert语句添加动态字段
53873039oycg
mybatis
mysql数据库,id自增,配置如下:
<insert id="saveTestTb" useGeneratedKeys="true" keyProperty="id"
parameterType=&
- struts2拦截器配置
云端月影
struts2拦截器
struts2拦截器interceptor的三种配置方法
方法1. 普通配置法
<struts>
<package name="struts2" extends="struts-default">
&
- IE中页面不居中,火狐谷歌等正常
aijuans
IE中页面不居中
问题是首页在火狐、谷歌、所有IE中正常显示,列表页的页面在火狐谷歌中正常,在IE6、7、8中都不中,觉得可能那个地方设置的让IE系列都不认识,仔细查看后发现,列表页中没写HTML模板部分没有添加DTD定义,就是<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3
- String,int,Integer,char 几个类型常见转换
antonyup_2006
htmlsql.net
如何将字串 String 转换成整数 int?
int i = Integer.valueOf(my_str).intValue();
int i=Integer.parseInt(str);
如何将字串 String 转换成Integer ?
Integer integer=Integer.valueOf(str);
如何将整数 int 转换成字串 String ?
1.
- PL/SQL的游标类型
百合不是茶
显示游标(静态游标)隐式游标游标的更新和删除%rowtyperef游标(动态游标)
游标是oracle中的一个结果集,用于存放查询的结果;
PL/SQL中游标的声明;
1,声明游标
2,打开游标(默认是关闭的);
3,提取数据
4,关闭游标
注意的要点:游标必须声明在declare中,使用open打开游标,fetch取游标中的数据,close关闭游标
隐式游标:主要是对DML数据的操作隐
- JUnit4中@AfterClass @BeforeClass @after @before的区别对比
bijian1013
JUnit4单元测试
一.基础知识
JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)@After:释放资源 对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次
- 精通Oracle10编程SQL(12)开发包
bijian1013
oracle数据库plsql
/*
*开发包
*包用于逻辑组合相关的PL/SQL类型(例如TABLE类型和RECORD类型)、PL/SQL项(例如游标和游标变量)和PL/SQL子程序(例如过程和函数)
*/
--包用于逻辑组合相关的PL/SQL类型、项和子程序,它由包规范和包体两部分组成
--建立包规范:包规范实际是包与应用程序之间的接口,它用于定义包的公用组件,包括常量、变量、游标、过程和函数等
--在包规
- 【EhCache二】ehcache.xml配置详解
bit1129
ehcache.xml
在ehcache官网上找了多次,终于找到ehcache.xml配置元素和属性的含义说明文档了,这个文档包含在ehcache.xml的注释中!
ehcache.xml : http://ehcache.org/ehcache.xml
ehcache.xsd : http://ehcache.org/ehcache.xsd
ehcache配置文件的根元素是ehcahe
ehcac
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL
白糖_
javaeclipsespringtomcatWeb
今天学习spring+cxf的时候遇到一个问题:在web.xml中配置了spring的上下文监听器:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
随后启动
- angular.element
boyitech
AngularJSAngularJS APIangular.element
angular.element
描述: 包裹着一部分DOM element或者是HTML字符串,把它作为一个jQuery元素来处理。(类似于jQuery的选择器啦) 如果jQuery被引入了,则angular.element就可以看作是jQuery选择器,选择的对象可以使用jQuery的函数;如果jQuery不可用,angular.e
- java-给定两个已排序序列,找出共同的元素。
bylijinnan
java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CommonItemInTwoSortedArray {
/**
* 题目:给定两个已排序序列,找出共同的元素。
* 1.定义两个指针分别指向序列的开始。
* 如果指向的两个元素
- sftp 异常,有遇到的吗?求解
Chen.H
javajcraftauthjschjschexception
com.jcraft.jsch.JSchException: Auth cancel
at com.jcraft.jsch.Session.connect(Session.java:460)
at com.jcraft.jsch.Session.connect(Session.java:154)
at cn.vivame.util.ftp.SftpServerAccess.connec
- [生物智能与人工智能]神经元中的电化学结构代表什么?
comsci
人工智能
我这里做一个大胆的猜想,生物神经网络中的神经元中包含着一些化学和类似电路的结构,这些结构通常用来扮演类似我们在拓扑分析系统中的节点嵌入方程一样,使得我们的神经网络产生智能判断的能力,而这些嵌入到节点中的方程同时也扮演着"经验"的角色....
我们可以尝试一下...在某些神经
- 通过LAC和CID获取经纬度信息
dai_lm
laccid
方法1:
用浏览器打开http://www.minigps.net/cellsearch.html,然后输入lac和cid信息(mcc和mnc可以填0),如果数据正确就可以获得相应的经纬度
方法2:
发送HTTP请求到http://www.open-electronics.org/celltrack/cell.php?hex=0&lac=<lac>&cid=&
- JAVA的困难分析
datamachine
java
前段时间转了一篇SQL的文章(http://datamachine.iteye.com/blog/1971896),文章不复杂,但思想深刻,就顺便思考了一下java的不足,当砖头丢出来,希望引点和田玉。
-----------------------------------------------------------------------------------------
- 小学5年级英语单词背诵第二课
dcj3sjt126com
englishword
money 钱
paper 纸
speak 讲,说
tell 告诉
remember 记得,想起
knock 敲,击,打
question 问题
number 数字,号码
learn 学会,学习
street 街道
carry 搬运,携带
send 发送,邮寄,发射
must 必须
light 灯,光线,轻的
front
- linux下面没有tree命令
dcj3sjt126com
linux
centos p安装
yum -y install tree
mac os安装
brew install tree
首先来看tree的用法
tree 中文解释:tree
功能说明:以树状图列出目录的内容。
语 法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式
- Map迭代方式,Map迭代,Map循环
蕃薯耀
Map循环Map迭代Map迭代方式
Map迭代方式,Map迭代,Map循环
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 2015年
- Spring Cache注解+Redis
hanqunfeng
spring
Spring3.1 Cache注解
依赖jar包:
<!-- redis -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
- Guava中针对集合的 filter和过滤功能
jackyrong
filter
在guava库中,自带了过滤器(filter)的功能,可以用来对collection 进行过滤,先看例子:
@Test
public void whenFilterWithIterables_thenFiltered() {
List<String> names = Lists.newArrayList("John"
- 学习编程那点事
lampcy
编程androidPHPhtml5
一年前的夏天,我还在纠结要不要改行,要不要去学php?能学到真本事吗?改行能成功吗?太多的问题,我终于不顾一切,下定决心,辞去了工作,来到传说中的帝都。老师给的乘车方式还算有效,很顺利的就到了学校,赶巧了,正好学校搬到了新校区。先安顿了下来,过了个轻松的周末,第一次到帝都,逛逛吧!
接下来的周一,是我噩梦的开始,学习内容对我这个零基础的人来说,除了勉强完成老师布置的作业外,我已经没有时间和精力去
- 架构师之流处理---------bytebuffer的mark,limit和flip
nannan408
ByteBuffer
1.前言。
如题,limit其实就是可以读取的字节长度的意思,flip是清空的意思,mark是标记的意思 。
2.例子.
例子代码:
String str = "helloWorld";
ByteBuffer buff = ByteBuffer.wrap(str.getBytes());
Sy
- org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1, column 1
Everyday都不同
$转义el表达式
最近在做Highcharts的过程中,在写js时,出现了以下异常:
严重: Servlet.service() for servlet jsp threw exception
org.apache.el.parser.ParseException: Encountered " ":" ": "" at line 1,
- 用Java实现发送邮件到163
tntxia
java实现
/*
在java版经常看到有人问如何用javamail发送邮件?如何接收邮件?如何访问多个文件夹等。问题零散,而历史的回复早已经淹没在问题的海洋之中。
本人之前所做过一个java项目,其中包含有WebMail功能,当初为用java实现而对javamail摸索了一段时间,总算有点收获。看到论坛中的经常有此方面的问题,因此把我的一些经验帖出来,希望对大家有些帮助。
此篇仅介绍用
- 探索实体类存在的真正意义
java小叶檀
POJO
一. 实体类简述
实体类其实就是俗称的POJO,这种类一般不实现特殊框架下的接口,在程序中仅作为数据容器用来持久化存储数据用的
POJO(Plain Old Java Objects)简单的Java对象
它的一般格式就是
public class A{
private String id;
public Str