提交 2b1720c9 authored 作者: zhangshuang's avatar zhangshuang

zs

...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<dependency> <dependency>
<groupId>org.springframework</groupId> <groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId> <artifactId>spring-websocket</artifactId>
<version>4.3.17.RELEASE</version> <!-- <version>4.3.17.RELEASE</version>-->
</dependency> </dependency>
<dependency> <dependency>
<groupId>junit</groupId> <groupId>junit</groupId>
...@@ -110,6 +110,22 @@ ...@@ -110,6 +110,22 @@
<artifactId>jpa-spec</artifactId> <artifactId>jpa-spec</artifactId>
<version>3.2.1</version> <version>3.2.1</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-invoker</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>ch.ethz.ganymed</groupId>
<artifactId>ganymed-ssh2</artifactId>
<version>build210</version>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.25</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
......
...@@ -2,8 +2,12 @@ package com.zjty.adaptationmaster; ...@@ -2,8 +2,12 @@ package com.zjty.adaptationmaster;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
@SpringBootApplication @SpringBootApplication
@EnableScheduling
public class AdaptationMasterApplication { public class AdaptationMasterApplication {
public static void main(String[] args) { public static void main(String[] args) {
......
package com.zjty.adaptationmaster.adaptor.controller;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import java.io.IOException;
@Controller
@RequestMapping("/checkcenter")
public class CheckCenterController {
//页面请求
@GetMapping("/socket/{cid}")
public ModelAndView socket(@PathVariable String cid) {
ModelAndView mav=new ModelAndView("/socket");
mav.addObject("cid", cid);
return mav;
}
//推送数据接口
@ResponseBody
@RequestMapping("/socket/push/{cid}")
public ServerResponse pushToWeb(@PathVariable String cid, String message) {
// try {
// WebSocketServer.sendInfo(cid,message);
// } catch (IOException e) {
// e.printStackTrace();
// return ServerResponse.error(cid+"#"+e.getMessage());
// }
return ServerResponse.success(cid);
}
}
package com.zjty.adaptationmaster.adaptor.controller;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import com.zjty.adaptationmaster.utils.MavenCompiler;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.UUID;
@RestController
@RequestMapping("/compile")
public class CompileController {
@GetMapping("/getUUID")
public ServerResponse getUUID(){
return ServerResponse.success(UUID.randomUUID().toString());
}
@GetMapping("/compile")
public ServerResponse compile(String UUID){
// MavenCompiler mavenCompiler = new MavenCompiler("C:\\home\\project\\rsc\\hrmbclient\\pom.xml","D:\\apache-maven-3.5.4",UUID);
// mavenCompiler.compiler();
return ServerResponse.success();
}
}
package com.zjty.adaptationmaster.adaptor.controller;
import com.zjty.adaptationmaster.adaptor.service.DeployService;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/deploy")
public class DeployController {
@Autowired
private DeployService deployService;
@GetMapping("/compileProject")
public ServerResponse compile(int projectId,String uuid){
return deployService.compile(projectId,uuid);
}
@GetMapping("/deployProject")
public ServerResponse deploy(int projectId,String uuid){
return deployService.deploy(projectId,uuid);
}
}
package com.zjty.adaptationmaster.adaptor.controller;
import com.zjty.adaptationmaster.adaptor.service.InspectService;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping
public class InspectController {
@Autowired
private InspectService inspectService;
public ServerResponse inspect(int projectId){
return inspectService.inspect(projectId);
}
}
...@@ -40,4 +40,9 @@ public class ProjectController { ...@@ -40,4 +40,9 @@ public class ProjectController {
return projectService.findProject(page,project); return projectService.findProject(page,project);
} }
@PostMapping("/getProjectState")
public ServerResponse getProjectState(){
return projectService.deployList();
}
} }
package com.zjty.adaptationmaster.adaptor.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.WebSocketMessage;
import org.springframework.web.socket.WebSocketSession;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@Controller
@RequestMapping("/connect")
public class SocketController implements WebSocketHandler {
int i = 0;
// @GetMapping("/get")
// public void getConnect(HttpServletResponse response){
// while (i<10){
// try {
// response.getWriter().write("第"+i+++"句话。。。");
// } catch (IOException e) {
// e.printStackTrace();
// }
// try {
// Thread.currentThread().sleep(2000);
// } catch (InterruptedException e) {
// e.printStackTrace();
// }
// }
// }
@Override
public void afterConnectionEstablished(WebSocketSession webSocketSession) throws Exception {
}
@Override
public void handleMessage(WebSocketSession webSocketSession, WebSocketMessage<?> webSocketMessage) throws Exception {
}
@Override
public void handleTransportError(WebSocketSession webSocketSession, Throwable throwable) throws Exception {
}
@Override
public void afterConnectionClosed(WebSocketSession webSocketSession, CloseStatus closeStatus) throws Exception {
}
@Override
public boolean supportsPartialMessages() {
return false;
}
}
package com.zjty.adaptationmaster.adaptor.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import javax.websocket.*;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
@ServerEndpoint("/webServer/{projectId}")
@Component
public class WebSocketServer {
private Logger logger = LoggerFactory.getLogger(getClass());
private static Map<String,WebSocketServer> map = new HashMap<>();
private Session session;
private String uuid;
@OnOpen
public void onOpen(Session session,@PathParam("projectId")String uuid){
this.session = session;
this.uuid = uuid;
//session.getOpenSessions().
map.put(uuid,this);
try {
sendMessage("连接成功");
} catch (IOException e) {
logger.error("websocket IO异常");
}
logger.info("连接成功"+session.getId());
}
@OnClose
public void onClose(Session session){
map.remove(this.uuid);
logger.info("连接关闭"+session.getId());
}
@OnMessage
public void onMessage(Session session,String message){
// try {
//map.get(uuid).sendMessage(message);
logger.info(uuid+"sendMsg"+message);
// } catch (IOException e) {
// e.printStackTrace();
// }
}
@OnError
public void onError(Session session,Throwable error){
logger.info(error.getMessage());
error.printStackTrace();
}
/**
* 实现服务器主动推送
*/
public void sendMessage(String message) throws IOException {
this.session.getBasicRemote().sendText(message);
}
public static void sendInfo(String sessionId,String msg,String action,String state,String projectName){
try {
map.get(sessionId).sendMessage(LocalDateTime.now()+"\t"+projectName+"\t"+action+"\t"+state+"\t"+msg);
} catch (IOException e) {
e.printStackTrace();
}
}
}
package com.zjty.adaptationmaster.adaptor.entity; package com.zjty.adaptationmaster.adaptor.entity;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -24,33 +22,24 @@ public class Project { ...@@ -24,33 +22,24 @@ public class Project {
@Id @Id
@GeneratedValue(strategy = GenerationType.IDENTITY) @GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id; private Integer id;
@Column(unique = true)
private String projectName;//项目名称 private String projectName;//项目名称
private String language;//语言
private String framework;//架构
private String isSeparate;//前后端是否分离
private String databaseType;//数据库类型
private String codeUrl;//当前源码源码路径 private String codeUrl;//当前源码源码路径
private Integer status = 1;//状态(0:删除 1:未删除) private Integer status = 1;//状态(0:删除 1:未删除)
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
private Date startTime = new Date();//开始时间 private Date startTime = new Date();//开始时间
@Temporal(TemporalType.TIMESTAMP) @Temporal(TemporalType.TIMESTAMP)
private Date updateTime;//更新时间 private Date updateTime;//更新时间
@OneToMany(mappedBy = "project", cascade = CascadeType.ALL, fetch = FetchType.EAGER) @OneToMany(mappedBy = "project", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
private List<Rule> rules;//自定义的规则 private List<Rule> rules;//自定义的规则
@ManyToMany @ManyToMany
@JoinTable(name = "project_ruleSet", @JoinTable(name = "project_ruleSet",
joinColumns = @JoinColumn(name = "p_id",referencedColumnName = "id"), joinColumns = @JoinColumn(name = "p_id",referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(name = "r_id", referencedColumnName = "id")) inverseJoinColumns = @JoinColumn(name = "r_id", referencedColumnName = "id"))
private List<RuleSet> ruleSets;//规则集 private List<RuleSet> ruleSets;//规则集
private boolean compileSuccess = false;
@OneToOne
private Report report;
private boolean deploySuccess = false;
} }
...@@ -4,23 +4,35 @@ import lombok.AllArgsConstructor; ...@@ -4,23 +4,35 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.List;
@Entity
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class Report { public class Report {
public String type;//语言类型
public String structure;//项目架构 private Language language;//语言
public String sqlType;//数据库类型 private String framework;//架构
private Separate isSeparate;//前后端是否分离
private DatabaseType databaseType;//数据库类型
private String compileFilePath;//项目编译文件,如果是maven项目,用maven编译,那么就是pom.xml
public DependenceManagement dependenceManagement;//版本管理方式 public DependenceManagement dependenceManagement;//版本管理方式
public Path depMagFilepath;//版本管理文件地址 public List<String> jarPath;//依赖文件的地址列表,用于编译,如果不是用版本管理工具
@Override private String packagePath;
public String toString(){
return ""+type+structure+sqlType;
}
public static enum DependenceManagement{ public enum DependenceManagement{
MAVEN,GRADLE,ANT MAVEN,GRADLE,ANT
} }
public enum Separate{
WHOLE,SEPARATE
}
public enum DatabaseType{
MYSQL,ORACLE,SQLSERVER,POSTGRE
}
public enum Language{
JAVA,PYTHON,CPP
}
} }
...@@ -41,15 +41,15 @@ public class Rule { ...@@ -41,15 +41,15 @@ public class Rule {
private String target;//文本匹配目标 private String target;//文本匹配目标
private String replacing;//更改方式 全文替换/正则替换 private String replacing;//更改方式 全文替换/正则替换
public static enum MatchType{ public enum MatchType{
PATH,NAME,SUFFIX PATH,NAME,SUFFIX
} }
public static enum TextMatch{ public enum TextMatch{
AREA AREA
} }
public static enum DealWay{ public enum DealWay{
REPLACE,INSERTAFTER,INSERTBEFORE REPLACE,INSERTAFTER,INSERTBEFORE
} }
} }
...@@ -11,4 +11,5 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor; ...@@ -11,4 +11,5 @@ import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
* @Date : 2019-12-07 10:55 * @Date : 2019-12-07 10:55
*/ */
public interface ProjectDao extends JpaRepository<Project, Integer>,JpaSpecificationExecutor { public interface ProjectDao extends JpaRepository<Project, Integer>,JpaSpecificationExecutor {
Project findByProjectName(String projectName);
} }
package com.zjty.adaptationmaster.adaptor.service;
import com.zjty.adaptationmaster.base.response.ServerResponse;
public interface DeployService {
ServerResponse compile(int projectId, String uuid);
ServerResponse deploy(int projectId, String uuid);
}
...@@ -4,6 +4,7 @@ import com.zjty.adaptationmaster.adaptor.entity.Rule; ...@@ -4,6 +4,7 @@ import com.zjty.adaptationmaster.adaptor.entity.Rule;
import com.zjty.adaptationmaster.base.response.ServerResponse; import com.zjty.adaptationmaster.base.response.ServerResponse;
import com.zjty.adaptationmaster.adaptor.service.AdaptationService; import com.zjty.adaptationmaster.adaptor.service.AdaptationService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
...@@ -16,6 +17,7 @@ public class AdaptationServiceImpl implements AdaptationService { ...@@ -16,6 +17,7 @@ public class AdaptationServiceImpl implements AdaptationService {
@Autowired @Autowired
private Adaptor adaptor; private Adaptor adaptor;
@Override @Override
public ServerResponse adapt(HttpServletResponse response) throws IOException { public ServerResponse adapt(HttpServletResponse response) throws IOException {
......
...@@ -10,6 +10,7 @@ import org.springframework.stereotype.Component; ...@@ -10,6 +10,7 @@ import org.springframework.stereotype.Component;
import java.io.*; import java.io.*;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.*; import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.attribute.BasicFileAttributes;
import java.util.*; import java.util.*;
...@@ -23,6 +24,7 @@ public class Adaptor { ...@@ -23,6 +24,7 @@ public class Adaptor {
//private AdaptationDetailLogEntityDao adaptationDetailLogEntityDao; //private AdaptationDetailLogEntityDao adaptationDetailLogEntityDao;
@Autowired @Autowired
private OriginalFileDao originalFileDao; private OriginalFileDao originalFileDao;
//@Value("${base.path}") //@Value("${base.path}")
private String basePath = Const.CONSOLE; private String basePath = Const.CONSOLE;
//线程池数量,合适的线程数量能让程序更快 //线程池数量,合适的线程数量能让程序更快
...@@ -98,7 +100,7 @@ public class Adaptor { ...@@ -98,7 +100,7 @@ public class Adaptor {
WriterBySort bySort = new WriterBySort(); WriterBySort bySort = new WriterBySort();
File newFile = file.toFile(); File newFile = file.toFile();
newFile.createNewFile(); newFile.createNewFile();
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(newFile), "utf-8"); OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(newFile), StandardCharsets.UTF_8);
bySort.setWriter(writer); bySort.setWriter(writer);
for (String s : Files.readAllLines(originalPath, Charset.forName("utf-8"))) { for (String s : Files.readAllLines(originalPath, Charset.forName("utf-8"))) {
if (linesRepository.put(s)) { if (linesRepository.put(s)) {
...@@ -191,10 +193,7 @@ public class Adaptor { ...@@ -191,10 +193,7 @@ public class Adaptor {
if(readedFiles==null)readedFiles = new ArrayList<>(); if(readedFiles==null)readedFiles = new ArrayList<>();
readedFiles.add(new StringBuilder(readedFile)); readedFiles.add(new StringBuilder(readedFile));
count+=readedFile.length(); count+=readedFile.length();
if(count>LIMIT){ return count > LIMIT;
return true;
}
return false;
} }
} }
...@@ -213,10 +212,7 @@ public class Adaptor { ...@@ -213,10 +212,7 @@ public class Adaptor {
if(readedFiles==null)readedFiles = new ArrayList<>(); if(readedFiles==null)readedFiles = new ArrayList<>();
readedFiles.add(readedFile); readedFiles.add(readedFile);
count+=readedFile.getAttributes().size(); count+=readedFile.getAttributes().size();
if(count>LIMIT){ return count > LIMIT;
return true;
}
return false;
} }
} }
......
package com.zjty.adaptationmaster.adaptor.service.Impl;
import com.zjty.adaptationmaster.adaptor.entity.Project;
import com.zjty.adaptationmaster.adaptor.repository.ProjectDao;
import com.zjty.adaptationmaster.adaptor.service.DeployService;
import com.zjty.adaptationmaster.base.enums.Const;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import com.zjty.adaptationmaster.utils.ApusicDeployer;
import com.zjty.adaptationmaster.utils.MavenCompiler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class DeployServiceImpl implements DeployService {
@Autowired
private ProjectDao projectDao;
@Override
public ServerResponse compile(int projectId, String uuid) {
// Project project = new Project();
// project.setCompileFilePath("C:\\home\\project\\rsc\\hrmbclient\\pom.xml");
// project.setDependenceManagement(Report.DependenceManagement.MAVEN);
Project project = projectDao.getOne(projectId);
if(project.getReport()==null)return ServerResponse.error("请进行项目体检或完善项目信息");
switch (project.getReport().getDependenceManagement()) {
case MAVEN:
new MavenCompiler(project, Const.MAVENHOME, uuid).compiler();
}
return ServerResponse.success(project);
}
@Override
public ServerResponse deploy(int projectId, String uuid) {
// Project project = new Project();
// project.setPackagePath("/home/user/Desktop/hrmanager-0.0.1-SNAPSHOT.war");
Project project = projectDao.getOne(projectId);
new ApusicDeployer(Const.CTLPATH,Const.MAVENHOME).deploy(project,uuid);
return ServerResponse.success(project);
}
}
package com.zjty.adaptationmaster.adaptor.service.Impl;
import com.zjty.adaptationmaster.adaptor.entity.Project;
import com.zjty.adaptationmaster.adaptor.repository.ProjectDao;
import com.zjty.adaptationmaster.adaptor.service.InspectService;
import com.zjty.adaptationmaster.base.response.ServerResponse;
import com.zjty.adaptationmaster.utils.Inspector;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
@Service
public class InspectServiceImpl implements InspectService {
@Autowired
private ProjectDao projectDao;
@Transactional
@Override
public ServerResponse inspect(int projectId) {
Project project = projectDao.getOne(projectId);
return ServerResponse.success(new Inspector(project,new HashMap<>(),new HashMap<>(),new ArrayList<>()).inspect());
}
}
package com.zjty.adaptationmaster.adaptor.service.Impl;
import com.zjty.adaptationmaster.utils.StringCompareUtil;
import com.zjty.adaptationmaster.adaptor.entity.Report;
import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 项目体检,根据既定特征值,
* 扫描、统计、分析项目特征,
* 生成报告
*
*/
public class Inspectors {
private String path;
private Map<String, Counter> matchMap;//后缀计数器
//特定后缀文件的地址集合
private List<Path> propertiesConfigPaths = new ArrayList<>();
private List<Path> ymlConfigPaths = new ArrayList<>();
private List<Path> xmlConfigPaths = new ArrayList<>();
//版本管理配置文件地址
private Path pomPath;
private boolean havePom = false;
private boolean haveIvy = false;
public List<String> matchStrings;
private Report report = new Report();
public void setPath(String path) {
this.path = path;
}
public void setMatchMap(Map<String, Counter> matchMap) {
this.matchMap = matchMap;
}
public static void main(String[] args) {
Inspectors inspectors = new Inspectors();
inspectors.setPath("C:\\Users\\wyl\\Desktop\\testReplace");
Map<String,Counter> map = new HashMap<>();
map.put("java",new Counter());
map.put("jsp",new Counter());
map.put("html",new Counter());
inspectors.setMatchMap(map);
inspectors.inspect();
//打印分析数据
for(Map.Entry<String,Counter> entry:map.entrySet()) {
System.out.println("项目中"+entry.getKey()+"类型文件共有" + entry.getValue().getI()+"个");
}
//打印体检报告
System.out.println(inspectors.analysis());
}
/**
* FileVisitResult.CONTINUE 继续遍历
* FileVisitResult.TERMINATE 中止访问
* FileVisitResult.SKIP_SIBLINGS 不访问同级的文件或目录
* FileVisitResult.SKIP_SUBTREE 不访问子目录
*/
public void inspect(){
try {
String glob = "glob:**/*.txt";
final PathMatcher pathMatcher = FileSystems.getDefault().getPathMatcher(glob);
Files.walkFileTree(Paths.get(path), new FileVisitor<Path>() {
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
//判断后缀
for (Map.Entry<String, Counter> s : matchMap.entrySet()) {
if (dir.endsWith(s.getKey())) {
s.getValue().plus();
}
}
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
boolean matches = pathMatcher.matches(file);
for(String s:matchStrings){
}
if (file.endsWith("properties")) {
propertiesConfigPaths.add(file);
}
if(file.endsWith("yml")){
ymlConfigPaths.add(file);
}
if(file.endsWith("xml")){
xmlConfigPaths.add(file);
if(file.endsWith("pom.xml")){
havePom = true;
pomPath = file;
}else if(file.endsWith("ivy.xml")){
haveIvy = true;
pomPath = file;
}
}
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
return FileVisitResult.CONTINUE;
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
public Report analysis(){
if(matchMap.get("java").getI()>0){
report.setType("java");
}
if(matchMap.get("jsp").getI()>0){
report.setStructure("whole");
}
if(matchMap.get("html").getI()>0){
report.setStructure("separation");
}
for(Path path:propertiesConfigPaths){
try {
for(String s:Files.readAllLines(path)){
int index = StringCompareUtil.compare(s, "spring.datasource.driver-class-name");
if(index >- 1){
if(!s.startsWith("#")){
/**
* MySQL数据库:
*
*     1)驱动包:https://mvnrepository.com/artifact/mysql/mysql-connector-java(下载路径)
*
*     2)驱动类名:com.mysql.jdbc.Driver
*
*     3)JDBC的URL:jdbc:mysql://IP地址:端口号/数据库名字
*
*      注:端口号缺省为:3306
*
* SQL server数据库:
*
*     1)驱动包:https://mvnrepository.com/artifact/com.microsoft.sqlserver/sqljdbc4(下载路径)
*
*     2)驱动类名:com.microsoft.jdbc.sqlserver.SQLServerDriver
*
*     3)JDBC的URL:jdbc:microsoft:sqlserver://IP地址:端口号;DatabaseName=数据库名
*
*     4)sqljdbc和sqljdbc4区别:https://blog.csdn.net/cainiao_M/article/details/53404222
*
*     注:端口号缺省为:1433
*
* Oracle数据库:
*
*     1)驱动包:https://mvnrepository.com/artifact/com.oracle/ojdbc6(下载路径)
*
*     2)驱动类名:oracle.jdbc.driver.OracleDriver
*
*     3)JDBC的URL:jdbc:oracle:thin:@IP地址:端口号:数据库名
*
*     4)ojdbc6和ojdbc14的区别:ojdbc14.jar(适合java-1.4和1.5),ojdbc6(适合java-1.6)
*
*     注:端口号缺省为:1521
*/
if(StringCompareUtil.compare(s, "mysql")>-1){
report.setSqlType("mysql");
}else if(StringCompareUtil.compare(s, "sqlserver")>-1){
report.setSqlType("SQLServer");
}else if(StringCompareUtil.compare(s, "oracle")>-1){
report.setSqlType("oracle");
}else if(StringCompareUtil.compare(s, "postgre")>-1){
report.setSqlType("postgre");
}
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
if(havePom){
report.setDependenceManagement(Report.DependenceManagement.MAVEN);
report.setDepMagFilepath(pomPath);
}
return null;
}
private static class Counter {
private int i = 0;
public void plus(){
i++;
}
public int getI() {
return i;
}
public void reset(){
i = 0;
}
}
}
...@@ -7,7 +7,9 @@ import com.zjty.adaptationmaster.adaptor.entity.Rule; ...@@ -7,7 +7,9 @@ import com.zjty.adaptationmaster.adaptor.entity.Rule;
import com.zjty.adaptationmaster.adaptor.entity.RuleSet; import com.zjty.adaptationmaster.adaptor.entity.RuleSet;
import com.zjty.adaptationmaster.adaptor.repository.ProjectDao; import com.zjty.adaptationmaster.adaptor.repository.ProjectDao;
import com.zjty.adaptationmaster.adaptor.service.ProjectService; import com.zjty.adaptationmaster.adaptor.service.ProjectService;
import com.zjty.adaptationmaster.base.enums.Const;
import com.zjty.adaptationmaster.base.response.ServerResponse; import com.zjty.adaptationmaster.base.response.ServerResponse;
import com.zjty.adaptationmaster.utils.ApusicDeployer;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
...@@ -79,4 +81,9 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -79,4 +81,9 @@ public class ProjectServiceImpl implements ProjectService {
} }
return ServerResponse.success(new ListResponse<>(projectDao.count(spec),projects)); return ServerResponse.success(new ListResponse<>(projectDao.count(spec),projects));
} }
@Override
public ServerResponse deployList() {
return ServerResponse.success(new ApusicDeployer(Const.CTLPATH,Const.MAVENHOME).list());
}
} }
package com.zjty.adaptationmaster.adaptor.service;
import com.zjty.adaptationmaster.base.response.ServerResponse;
public interface InspectService {
ServerResponse inspect(int projectId);
}
...@@ -16,4 +16,6 @@ public interface ProjectService { ...@@ -16,4 +16,6 @@ public interface ProjectService {
ServerResponse deleteProject(Integer id);//删除项目 ServerResponse deleteProject(Integer id);//删除项目
ServerResponse findProject(Integer page , Project project);//查询项目 ServerResponse findProject(Integer page , Project project);//查询项目
ServerResponse deployList();
} }
package com.zjty.adaptationmaster.base.configuration;
public class ValueConfig {
}
...@@ -2,24 +2,12 @@ package com.zjty.adaptationmaster.base.configuration; ...@@ -2,24 +2,12 @@ package com.zjty.adaptationmaster.base.configuration;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.AbstractWebSocketMessageBrokerConfigurer;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.server.standard.ServerEndpointExporter; import org.springframework.web.socket.server.standard.ServerEndpointExporter;
/**
* 开启websocket支持
*/
@Configuration @Configuration
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer { public class WebSocketConfig {
@Override @Bean
public void configureMessageBroker(MessageBrokerRegistry registry) { public ServerEndpointExporter serverEndpointExporter() {
registry.enableSimpleBroker("/topic","/user"); return new ServerEndpointExporter();
}
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/webServer").withSockJS();
//registry.addEndpoint("/queueServer").withSockJS();
} }
} }
package com.zjty.adaptationmaster.base.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DeployStatus {
private boolean compile;
private boolean deploy;
private boolean running;
}
package com.zjty.adaptationmaster.base.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ProjectStatueFromMiddleware {
private String name;
private String description;
private String state;
}
...@@ -33,4 +33,8 @@ public class Const { ...@@ -33,4 +33,8 @@ public class Const {
String SERVER_RESPONSE_DATA_EXAMPLE = String SERVER_RESPONSE_DATA_EXAMPLE =
"[{'name' : '设备1号', 'id' : 'K001002'},{'name' : '设备2号', 'id' : 'K003004'}]"; "[{'name' : '设备1号', 'id' : 'K001002'},{'name' : '设备2号', 'id' : 'K003004'}]";
} }
public static final String MAVENHOME = "D:\\apache-maven-3.5.4";
public static final String CTLPATH = "/home/user/Desktop/AAS-V9.0/bin/appctl";
public static final String CTLPWD = "Qwert123!@#";
} }
package com.zjty.adaptationmaster.utils;
import com.zjty.adaptationmaster.adaptor.controller.WebSocketServer;
import com.zjty.adaptationmaster.adaptor.entity.Project;
import com.zjty.adaptationmaster.base.entity.ProjectStatueFromMiddleware;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
@AllArgsConstructor
@NoArgsConstructor
public class ApusicDeployer {
private String ctlPath;
private String ctlPwd;
public void deploy(Project project,String webSocketName){
String command = ctlPath+" -p '"+ctlPwd+"' install "+project.getProjectName()+" "+project.getReport().getPackagePath();
try {
Process exec = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(exec.getInputStream()));
String line = null;
while ((line = reader.readLine()) != null) {
WebSocketServer.sendInfo(line, webSocketName,"部署","running",project.getProjectName());
}
} catch (IOException e) {
e.printStackTrace();
}
}
public List<ProjectStatueFromMiddleware> list(){
List<ProjectStatueFromMiddleware> result = new ArrayList<>();
String command = ctlPath+" -p '"+ctlPwd+"' list";
try {
Process exec = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(exec.getInputStream()));
boolean titleEnd = false;
String line = null;
while ((line = reader.readLine()) != null) {
if(line.startsWith("---------------"))titleEnd = true;
if(titleEnd){
String[] split = line.split("\\s{2,}");
ProjectStatueFromMiddleware projectStatue = new ProjectStatueFromMiddleware(split[0],split[1],split[2]);
result.add(projectStatue);
}
}
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
}
package com.zjty.adaptationmaster.utils;
import ch.ethz.ssh2.Connection;
public class Connector {
private String ip;
private String userName;
private String pwd;
public void connect(){
Connection connection = new Connection(ip);
// connection.connect();
// connection.authenticateWithPassword(userName,pwd);
}
}
package com.zjty.adaptationmaster.utils;
import com.zjty.adaptationmaster.adaptor.entity.Project;
import com.zjty.adaptationmaster.adaptor.entity.Report;
import java.io.IOException;
import java.nio.file.*;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 项目体检,根据既定特征值,
* 扫描、统计、分析项目特征,
* 生成报告
*
*/
public class Inspector {
public static void main(String[] args) {
Project project = new Project();
project.setCodeUrl("");
Map<String,Report.Language> suffixLanguageMapping = new HashMap<>();
Map<String, Report.Separate> suffixSeparateMapping = new HashMap<>();
List<String> configFileSuffixList = new ArrayList<>();
Inspector inspector = new Inspector(project,suffixLanguageMapping,suffixSeparateMapping,configFileSuffixList);
}
private Project project;
private Report report;
private Map<String, Counter> languageMatchMap;
private Map<String, Counter> separateMatchMap;
private Map<String, Report.Language> suffixLanguageMapping;
private Map<String, Report.Separate> suffixSeparateMapping;
private Map<String,List<Path>> configFileTypePathsMapping;
public Inspector(Project project,Map<String,Report.Language> suffixLanguageMapping,Map<String, Report.Separate> suffixSeparateMapping,List<String> configFileSuffixList){
this.project = project;
this.suffixLanguageMapping = suffixLanguageMapping;
this.suffixSeparateMapping = suffixSeparateMapping;
this.languageMatchMap = new HashMap<>();
for(String s:suffixLanguageMapping.keySet()){
languageMatchMap.put(s,new Counter());
}
this.separateMatchMap = new HashMap<>();
for(String s:suffixSeparateMapping.keySet()){
separateMatchMap.put(s,new Counter());
}
this.configFileTypePathsMapping = new HashMap<>();
for(String s:configFileSuffixList){
configFileTypePathsMapping.put(s,new ArrayList<>());
}
this.report = new Report();
}
private List<Path> propertiesConfigPaths = new ArrayList<>();
private List<Path> ymlConfigPaths = new ArrayList<>();
private List<Path> xmlConfigPaths = new ArrayList<>();
/**
* FileVisitResult.CONTINUE 继续遍历
* FileVisitResult.TERMINATE 中止访问
* FileVisitResult.SKIP_SIBLINGS 不访问同级的文件或目录
* FileVisitResult.SKIP_SUBTREE 不访问子目录
*/
public Report inspect(){
try {
FileSystem aDefault = FileSystems.getDefault();
Map<String,PathMatcher> languageSuffixMatcherMapping = new HashMap<>();
for(String s:suffixLanguageMapping.keySet()){
languageSuffixMatcherMapping.put(s,aDefault.getPathMatcher("glob:**/*."+s));
}
Map<String,PathMatcher> separateSuffixMatcherMapping = new HashMap<>();
for(String s:suffixLanguageMapping.keySet()){
separateSuffixMatcherMapping.put(s,aDefault.getPathMatcher("glob:**/*."+s));
}
Map<PathMatcher,String> configFileMatcherSuffixMapping = new HashMap<>();
for(String s:configFileTypePathsMapping.keySet()){
configFileMatcherSuffixMapping.put(aDefault.getPathMatcher("glob:**/*."+s),s);
}
Files.walkFileTree(Paths.get(project.getCodeUrl()), new FileVisitor<Path>() {
/**
* 统计某个后缀出现的次数
* @param dir
* @param attrs
* @return
* @throws IOException
*/
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
for(Map.Entry<String,PathMatcher> entry:languageSuffixMatcherMapping.entrySet()){
if(entry.getValue().matches(dir)){
languageMatchMap.get(entry.getKey()).plus();
}
}
for(Map.Entry<String,PathMatcher> entry:separateSuffixMatcherMapping.entrySet()){
if(entry.getValue().matches(dir)){
separateMatchMap.get(entry.getKey()).plus();
}
}
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
for(Map.Entry<PathMatcher,String> entry:configFileMatcherSuffixMapping.entrySet()){
if(entry.getKey().matches(file)){
configFileTypePathsMapping.get(entry.getValue()).add(file);
}
}
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc) throws IOException {
return FileVisitResult.CONTINUE;
}
});
} catch (IOException e) {
e.printStackTrace();
}
return analysis();
}
public Report analysis(){
for(Map.Entry<String,Counter> entry:languageMatchMap.entrySet()){
if(entry.getValue().getNumber()>0){
report.setLanguage(suffixLanguageMapping.get(entry.getKey()));
}
}
for(Map.Entry<String,Counter> entry:separateMatchMap.entrySet()){
if(entry.getValue().getNumber()>0){
report.setIsSeparate(suffixSeparateMapping.get(entry.getKey()));
}
}
for(Map.Entry<String,List<Path>> entry:configFileTypePathsMapping.entrySet()){
}
// for(Path path:propertiesConfigPaths){
// try {
// for(String s:Files.readAllLines(path)){
// int index = StringCompareUtil.compare(s, "spring.datasource.driver-class-name");
// if(index > -1){
// if(!s.startsWith("#")){
// /**
// * MySQL数据库:
// *     1)驱动包:https://mvnrepository.com/artifact/mysql/mysql-connector-java(下载路径)
// *     2)驱动类名:com.mysql.jdbc.Driver
// *     3)JDBC的URL:jdbc:mysql://IP地址:端口号/数据库名字
// *      注:端口号缺省为:3306
// *
// * SQL server数据库:
// *     1)驱动包:https://mvnrepository.com/artifact/com.microsoft.sqlserver/sqljdbc4(下载路径)
// *     2)驱动类名:com.microsoft.jdbc.sqlserver.SQLServerDriver
// *     3)JDBC的URL:jdbc:microsoft:sqlserver://IP地址:端口号;DatabaseName=数据库名
// *     4)sqljdbc和sqljdbc4区别:https://blog.csdn.net/cainiao_M/article/details/53404222
// *     注:端口号缺省为:1433
// *
// * Oracle数据库:
// *     1)驱动包:https://mvnrepository.com/artifact/com.oracle/ojdbc6(下载路径)
// *     2)驱动类名:oracle.jdbc.driver.OracleDriver
// *     3)JDBC的URL:jdbc:oracle:thin:@IP地址:端口号:数据库名
// *     4)ojdbc6和ojdbc14的区别:ojdbc14.jar(适合java-1.4和1.5),ojdbc6(适合java-1.6)
// *     注:端口号缺省为:1521
// */
// if(StringCompareUtil.compare(s, "mysql")>-1){
// report.setDatabaseType(Report.DatabaseType.MYSQL);
// }else if(StringCompareUtil.compare(s, "sqlserver")>-1){
// report.setDatabaseType(Report.DatabaseType.SQLSERVER);
// }else if(StringCompareUtil.compare(s, "oracle")>-1){
// report.setDatabaseType(Report.DatabaseType.ORACLE);
// }else if(StringCompareUtil.compare(s, "postgre")>-1){
// report.setDatabaseType(Report.DatabaseType.POSTGRE);
// }
// }
// }
// }
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
return null;
}
public class Counter {
private int i = 0;
public void plus(){
i++;
}
public int getNumber() {
return i;
}
public void reset(){
i = 0;
}
}
}
package com.zjty.adaptationmaster.utils;
import com.zjty.adaptationmaster.adaptor.controller.WebSocketServer;
import com.zjty.adaptationmaster.adaptor.entity.Project;
import com.zjty.adaptationmaster.base.enums.Const;
import org.apache.maven.shared.invoker.*;
import org.apache.maven.shared.utils.cli.CommandLineException;
import java.io.File;
import java.io.IOException;
import java.util.Collections;
public class MavenCompiler {
private Project project;
private String mavenHome;
private String webSocketId;
public MavenCompiler(Project project,String mavenHome,String webSocketId){
this.project = project;
this.mavenHome = mavenHome;
this.webSocketId = webSocketId;
}
public void compiler(){
InvocationRequest request = new DefaultInvocationRequest();
request.setPomFile(new File(project.getReport().getCompileFilePath()));
request.setGoals(Collections.singletonList("compile"));
Invoker invoker = new DefaultInvoker();
invoker.setMavenHome(new File(mavenHome));
invoker.setOutputHandler(new InvocationOutputHandler() {
@Override
public void consumeLine(String s) throws IOException {
WebSocketServer.sendInfo(webSocketId,s,"编译","running",project.getProjectName());
//System.out.println(s);
}
});
try {
InvocationResult execute = invoker.execute(request);
CommandLineException executionException = execute.getExecutionException();
if(executionException==null){
if(execute.getExitCode()==0){
project.setCompileSuccess(true);
}
}else {
WebSocketServer.sendInfo(webSocketId,"项目编译出错","编译","error",project.getProjectName());
WebSocketServer.sendInfo(webSocketId,executionException.getMessage(),"编译","error",project.getProjectName());
}
} catch (MavenInvocationException e) {
e.printStackTrace();
}
}
// public static void main(String[] args) {
// Project project = new Project();
// project.getReport().setCompileFilePath("C:\\home\\project\\rsc\\hrmbclient\\pom.xml");
// MavenCompiler mavenCompiler = new MavenCompiler(project, Const.MAVENHOME,"aa");
// mavenCompiler.compiler();
// }
public static void main(String[] args) {
InvocationRequest request = new DefaultInvocationRequest();
request.setPomFile(new File("D:\\SingleHRManger1.0(scannerAndFriger)"));
request.setGoals(Collections.singletonList("compile"));
Invoker invoker = new DefaultInvoker();
//invoker.setMavenHome(new File(mavenHome));
invoker.setOutputHandler(new InvocationOutputHandler() {
@Override
public void consumeLine(String s) throws IOException {
System.out.println(s);
//WebSocketServer.sendInfo(webSocketId,s,"编译","running",project.getProjectName());
//System.out.println(s);
}
});
}
}
package com.zjty.adaptationmaster.utils;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
public class MyXmlReader {
private Document document;
public MyXmlReader(Path path){
try {
document = new SAXReader().read(Files.newInputStream(path));
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public Document getDocument() {
return document;
}
}
package com.zjty.adaptationmaster.utils;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Properties;
public class PropertiesReader {
public static Properties readProperties(Path path){
InputStream inputStream = null;
Properties properties = new Properties();
try {
inputStream = Files.newInputStream(path);
properties.load(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
return properties;
}
}
...@@ -13,10 +13,8 @@ import java.nio.file.Path; ...@@ -13,10 +13,8 @@ import java.nio.file.Path;
import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.attribute.BasicFileAttributes;
import java.util.List; import java.util.List;
public class ReadedFileTask implements Runnable {
@Autowired public class ReadedFileTask implements Runnable {
private SimpMessagingTemplate template;
private List<ReadedFile> readedFiles; private List<ReadedFile> readedFiles;
//private Writer responseWriter; //private Writer responseWriter;
...@@ -36,6 +34,7 @@ public class ReadedFileTask implements Runnable { ...@@ -36,6 +34,7 @@ public class ReadedFileTask implements Runnable {
this.index = index; this.index = index;
} }
@Override @Override
public void run() { public void run() {
for(ReadedFile readedFile:readedFiles){ for(ReadedFile readedFile:readedFiles){
...@@ -62,7 +61,7 @@ public class ReadedFileTask implements Runnable { ...@@ -62,7 +61,7 @@ public class ReadedFileTask implements Runnable {
} }
//container.add(readedFile.getPath().getFileName()+"文本替换:"+entity.getTextMatching()+"|"+entity.getReplacing()); //container.add(readedFile.getPath().getFileName()+"文本替换:"+entity.getTextMatching()+"|"+entity.getReplacing());
template.convertAndSend("===="+readedFile.getPath().getFileName()+"////"+entity.getTextMatching()+"||||"+entity.getReplacing(),"1L"); //template.convertAndSend("===="+readedFile.getPath().getFileName()+"////"+entity.getTextMatching()+"||||"+entity.getReplacing(),"1L");
//responseWriter.write("===="+readedFile.getPath().getFileName()+"////"+entity.getTextMatching()+"||||"+entity.getReplacing()); //responseWriter.write("===="+readedFile.getPath().getFileName()+"////"+entity.getTextMatching()+"||||"+entity.getReplacing());
} }
......
...@@ -48,8 +48,8 @@ public class StringCompareUtil { ...@@ -48,8 +48,8 @@ public class StringCompareUtil {
*/ */
private static int getNext(String pattern,String str,int[] N) { private static int getNext(String pattern,String str,int[] N) {
int n = pattern.length(); int n = pattern.length();
char v1[] = str.toCharArray(); char[] v1 = str.toCharArray();
char v2[] = pattern.toCharArray(); char[] v2 = pattern.toCharArray();
int x = 0; int x = 0;
while (n-- != 0) { while (n-- != 0) {
if (v1[x] != v2[x]){ if (v1[x] != v2[x]){
......
package com.zjty.adaptationmaster.utils;
import com.alibaba.fastjson.JSON;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.factory.config.YamlMapFactoryBean;
import org.springframework.core.io.ClassPathResource;
import org.yaml.snakeyaml.Yaml;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Map;
public class YamlReader {
private String path;
private Map<String,Map> map;
public YamlReader(String path){
this.path = path;
Yaml yaml = new Yaml();
try {
map = yaml.loadAs(new FileInputStream(path),Map.class);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public String getSpringDatasourceUrl(){
return (String) ((Map)((map.get("spring")).get("datasource"))).get("url");
}
public static void main(String[] args) {
String s = "# mybatis\n" +
"mybatis:\n" +
" type-aliases-package: info.ideatower.component.inscriber.entity\n" +
" mapper-locations: classpath:mapping/*.xml\n" +
" config-locations: classpath:mybatis-config.xml\n" +
"\n" +
"# 应用组件通信等配置\n" +
"component:\n" +
" misso:\n" +
" log:\n" +
" addr: http://localhost:8009\n" +
" error:\n" +
" enable: on\n" +
"\n" +
"Related:\n" +
" Projects:\n" +
" - Rx\n" +
" - Kwalify\n" +
" - yaml_vim\n" +
" - yatools.net\n" +
" - JSON\n" +
" - Pygments";
String s1 = "logging:\n" +
" level:\n" +
" root: debug\n" +
" com.cax: debug\n" +
" file: logs/debug.log\n" +
"spring:\n" +
" datasource:\n" +
" driver-class-name: com.mysql.cj.jdbc.Driver\n" +
" url: jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC\n" +
" username: root\n" +
" password:\n" +
" jpa:\n" +
" hibernate:\n" +
" ddl-auto: create\n" +
" show-sql: true\n" +
" open-in-view: false\n";
Yaml yaml = new Yaml();
Map<String,Map> map = yaml.loadAs(s1, Map.class);
System.out.println(((Map)(map.get("spring")).get("datasource")).get("url"));
//System.out.println(ymmm.getSpring().getDataSource().getDriverClassName());
// System.out.println(map);
// for (Map.Entry<String,Map> entry:map.entrySet()){
// System.out.println(entry);
//
// System.out.println(entry.getValue());
//// System.out.println(entry.getKey()+"\t"+entry.getValue());
// }
//只能解析map和properties
// YamlMapFactoryBean yamlMapFactoryBean = new YamlMapFactoryBean();
// yamlMapFactoryBean.setResources(new ClassPathResource("test.yml"));
// Map<String, Object> object = yamlMapFactoryBean.getObject();
// ymmm ymmm = ((ymmm)object);
// System.out.println(ymmm.getSpring().getDataSource().getDriverClassName());
//ymmm ymmm = JSON.parseObject(s1, ymmm.class);
//System.out.println(ymmm.getSpring().getDataSource().getDriverClassName());
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DataSource{
private String driverClassName;
private String url;
private String username;
private String password;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class spring{
private DataSource dataSource;
}
@Data
public class ymmm{
private spring spring;
public ymmm(){
}
public ymmm(spring spring){
this.spring = spring;
}
}
}
logging:
level:
root: debug
com.cax: debug
file: logs/debug.log
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC
username: root
password:
jpa:
hibernate:
ddl-auto: create
show-sql: true
open-in-view: false
\ No newline at end of file
...@@ -3,13 +3,19 @@ package com.zjty.adaptationmaster; ...@@ -3,13 +3,19 @@ package com.zjty.adaptationmaster;
import org.junit.Test; import org.junit.Test;
import java.io.File;
import java.nio.file.FileSystems; import java.nio.file.FileSystems;
import java.nio.file.PathMatcher; import java.nio.file.PathMatcher;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
public class Test1 { public class Test1 {
@Test @Test
public void test(){ public void test(){
System.out.println((char)1);
System.out.println((int)'A');
System.out.println((int)'a');
PathMatcher pathMatcher = FileSystems.getDefault().getPathMatcher("glob:**/pom.xml"); PathMatcher pathMatcher = FileSystems.getDefault().getPathMatcher("glob:**/pom.xml");
System.out.println(pathMatcher.matches(Paths.get("/static/aaa/pom.xml"))); System.out.println(pathMatcher.matches(Paths.get("/static/aaa/pom.xml")));
} }
...@@ -22,5 +28,661 @@ public class Test1 { ...@@ -22,5 +28,661 @@ public class Test1 {
System.out.println(s); System.out.println(s);
} }
System.out.println(split[0]+"||"+split[1]+"||"+split[2]); System.out.println(split[0]+"||"+split[1]+"||"+split[2]);
String s = "default Default Application Running ";
String[] split1 = s.split("\\s{2,}");
System.out.println(split1);
for (String s1 : split1) {
System.out.println(s1);
}
String fileName = "application-dev.properties";
System.out.println(fileName.matches("application.*\\.properties"));
}
@Test
public void test111(){
String s = "./lib/spring-context-4.0.0.M2.jar\n" +
"./lib/AESCodec111.jar\n" +
"./lib/jersey-atom-1.4.jar\n" +
"./lib/resolver.jar\n" +
"./lib/asm-commons-3.3.jar\n" +
"./lib/hibernate-entitymanager-4.1.4.Final.jar\n" +
"./lib/poi-ooxml-3.16.jar\n" +
"./lib/spring-build-src-4.0.0.M2.jar\n" +
"./lib/derbyLocale_ja_JP.jar\n" +
"./lib/jaxws-rt.jar\n" +
"./lib/stax-api-1.0-2.jar\n" +
"./lib/org.springframework.context.support-3.1.1.RELEASE.jar\n" +
"./lib/derbyLocale_es.jar\n" +
"./lib/org.apache.servicemix.bundles.quartz-1.5.2_1.jar\n" +
"./lib/bcprov-jdk15on-1.55.jar\n" +
"./lib/jaxb-xjc.jar\n" +
"./lib/log4j-1.2.17.jar\n" +
"./lib/derbyLocale_ko_KR.jar\n" +
"./lib/commons-codec-1.9.jar\n" +
"./lib/org.springframework.instrument.tomcat-3.1.1.RELEASE.jar\n" +
"./lib/commons-logging-1.1.1.jar\n" +
"./lib/jersey-multipart-1.4.jar\n" +
"./lib/spring-beans-4.0.0.M2.jar\n" +
"./lib/QRCode.jar\n" +
"./lib/FastInfoset-1.2.2.jar\n" +
"./lib/javassist-3.15.0-GA.jar\n" +
"./lib/rome-0.9.jar\n" +
"./lib/woodstox-core-asl.jar\n" +
"./lib/httpclient-win-4.5.2.jar\n" +
"./lib/javassist-3.11.0.GA.jar\n" +
"./lib/commons-logging-1.1.3.jar\n" +
"./lib/thumbnailator-0.4.7.jar\n" +
"./lib/xwork-core-2.3.15.1.jar\n" +
"./lib/spring-messaging-4.0.0.M2.jar\n" +
"./lib/jersey-fastinfoset-1.4.jar\n" +
"./lib/spring-webmvc-portlet-4.0.0.M2.jar\n" +
"./lib/commons-io-2.0.1.jar\n" +
"./lib/json-lib-2.3-jdk15.jar\n" +
"./lib/hibernate-core-4.1.4.Final.jar\n" +
"./lib/fluent-hc-4.5.2.jar\n" +
"./lib/gmbal-api-only.jar\n" +
"./lib/spring-test-4.0.0.M2.jar\n" +
"./lib/org.springframework.core-3.1.1.RELEASE.jar\n" +
"./lib/commons-beanutils-1.8.0.jar\n" +
"./lib/spring-instrument-4.0.0.M2.jar\n" +
"./lib/commons-fileupload-1.3.jar\n" +
"./lib/asm-3.1.jar\n" +
"./lib/log4j-1.2.16.jar\n" +
"./lib/org.springframework.jms-3.1.1.RELEASE.jar\n" +
"./lib/derbyrun.jar\n" +
"./lib/derby.jar\n" +
"./lib/RXTXcomm.jar\n" +
"./lib/derbyLocale_cs.jar\n" +
"./lib/commons-httpclient-3.1.jar\n" +
"./lib/httpclient-cache-4.5.2.jar\n" +
"./lib/org.springframework.asm-3.1.1.RELEASE.jar\n" +
"./lib/jaxws-tools.jar\n" +
"./lib/gson-2.2.4.jar\n" +
"./lib/derbyLocale_zh_CN.jar\n" +
"./lib/bcpkix-jdk15on-1.56.jar\n" +
"./lib/org.springframework.beans-3.1.1.RELEASE.jar\n" +
"./lib/spring-orm-4.0.0.M2.jar\n" +
"./lib/httpmime-4.5.2.jar\n" +
"./lib/jersey-core-1.4.jar\n" +
"./lib/aspectjtools-1.5.0.jar\n" +
"./lib/commons-pool-1.5.3.jar\n" +
"./lib/pinyin4j-2.5.0.jar\n" +
"./lib/httpclient-4.5.2.jar\n" +
"./lib/ha-api.jar\n" +
"./lib/BussinessImage.jar\n" +
"./lib/commons-collections4-4.1.jar\n" +
"./lib/derbynet.jar\n" +
"./lib/jaxb-impl-2.1.12.jar\n" +
"./lib/spring-jdbc-4.0.0.M2.jar\n" +
"./lib/jersey-json-1.4.jar\n" +
"./lib/Searcher.jar\n" +
"./lib/derbyLocale_hu.jar\n" +
"./lib/jboss-transaction-api_1.1_spec-1.0.1.Final.jar\n" +
"./lib/jaxb-impl.jar\n" +
"./lib/stax-ex.jar\n" +
"./lib/org.springframework.oxm-3.1.1.RELEASE.jar\n" +
"./lib/org.springframework.aspects-3.1.1.RELEASE.jar\n" +
"./lib/core-3.0.0.jar\n" +
"./lib/jackson-databind-2.5.3.jar\n" +
"./lib/jna-platform-4.1.0.jar\n" +
"./lib/org.springframework.web.portlet-3.1.1.RELEASE.jar\n" +
"./lib/activation-1.1.jar\n" +
"./lib/spring-web-4.0.0.M2.jar\n" +
"./lib/derbyLocale_pl.jar\n" +
"./lib/derbyclient.jar\n" +
"./lib/asm-tree-3.3.jar\n" +
"./lib/spring-webmvc-4.0.0.M2.jar\n" +
"./lib/FastInfoset.jar\n" +
"./lib/jackson-core-2.5.3.jar\n" +
"./lib/javase-2.1.jar\n" +
"./lib/jersey-client-1.4.jar\n" +
"./lib/mysql-connector-java-5.1.1.jar\n" +
"./lib/commons-beanutils-1.7.0.jar\n" +
"./lib/commons-lang-2.5.jar\n" +
"./lib/jackson-all-1.7.6.jar\n" +
"./lib/jpush-client-3.1.3.jar\n" +
"./lib/asm-3.3.jar\n" +
"./lib/javax.annotation-api.jar\n" +
"./lib/org.springframework.web.struts-3.1.1.RELEASE.jar\n" +
"./lib/hibernate-commons-annotations-4.0.1.Final.jar\n" +
"./lib/ognl-3.0.6.jar\n" +
"./lib/spring-tx-4.0.0.M2.jar\n" +
"./lib/org.springframework.web.servlet-3.1.1.RELEASE.jar\n" +
"./lib/derbyLocale_ru.jar\n" +
"./lib/derbyLocale_de_DE.jar\n" +
"./lib/org.springframework.instrument-3.1.1.RELEASE.jar\n" +
"./lib/jaxb-api-2.1.jar\n" +
"./lib/AESCodec.jar\n" +
"./lib/management-api.jar\n" +
"./lib/hibernate-commons-annotations-4.0.2.Final.jar\n" +
"./lib/ant.jar\n" +
"./lib/org.springframework.expression-3.1.1.RELEASE.jar\n" +
"./lib/spring-instrument-tomcat-4.0.0.M2.jar\n" +
"./lib/struts2-json-plugin-2.3.4.1.jar\n" +
"./lib/jsr311-api-1.1.1.jar\n" +
"./lib/dom4j-1.6.1.jar\n" +
"./lib/jsonwebservice-ri-0.9.0.jar\n" +
"./lib/jna-4.1.0.jar\n" +
"./lib/struts2-core-2.3.15.1.jar\n" +
"./lib/antlr-2.7.7.jar\n" +
"./lib/bcprov-jdk15on-1.60.jar\n" +
"./lib/struts2-spring-plugin-2.3.15.1.jar\n" +
"./lib/jaxb-core.jar\n" +
"./lib/bcmail-jdk15on-1.56.jar\n" +
"./lib/spring-expression-4.0.0.M2.jar\n" +
"./lib/poi-ooxml-schemas-3.16.jar\n" +
"./lib/mail-1.4.jar\n" +
"./lib/javabase64-1.3.1.jar\n" +
"./lib/jackson-mapper-asl-1.5.5.jar\n" +
"./lib/jackson-jaxrs-1.5.5.jar\n" +
"./lib/javax.xml.soap-api.jar\n" +
"./lib/stax2-api.jar\n" +
"./lib/cglib-nodep-2.2.jar\n" +
"./lib/org.springframework.context-3.1.1.RELEASE.jar\n" +
"./lib/org.springframework.web-3.1.1.RELEASE.jar\n" +
"./lib/core-3.1.0-sources.jar\n" +
"./lib/httpcore-4.4.4.jar\n" +
"./lib/policy.jar\n" +
"./lib/jaxws-api.jar\n" +
"./lib/commons-logging-1.2.jar\n" +
"./lib/ezmorph-1.0.6.jar\n" +
"./lib/fastjson-1.2.46.jar\n" +
"./lib/spring-websocket-4.0.0.M2.jar\n" +
"./lib/spring-context-support-4.0.0.M2.jar\n" +
"./lib/derbyLocale_zh_TW.jar\n" +
"./lib/derbyLocale_fr.jar\n" +
"./lib/mimepull-1.3.jar\n" +
"./lib/jaxb-jxc.jar\n" +
"./lib/derbyLocale_pt_BR.jar\n" +
"./lib/spring-jms-4.0.0.M2.jar\n" +
"./lib/winszipaes_zh_CN_supported_20120416.jar\n" +
"./lib/freemarker-2.3.19.jar\n" +
"./lib/commons-fileupload-1.2.jar\n" +
"./lib/jackson-core-asl-1.5.5.jar\n" +
"./lib/slf4j-api-1.6.1.jar\n" +
"./lib/org.springframework.aop-3.1.1.RELEASE.jar\n" +
"./lib/jaxb-api.jar\n" +
"./lib/jdom-1.0.jar\n" +
"./lib/standard.jar\n" +
"./lib/jackson-annotations-2.5.3.jar\n" +
"./lib/jbarcode-0.2.8.jar\n" +
"./lib/spring-oxm-4.0.0.M2.jar\n" +
"./lib/hibernate-core-4.2.3.Final.jar\n" +
"./lib/junit.jar\n" +
"./lib/ojdbc14.jar\n" +
"./lib/xmlbeans-2.6.0.jar\n" +
"./lib/poi-3.16-beta2.jar\n" +
"./lib/spring-aspects-4.0.0.M2.jar\n" +
"./lib/hibernate-jpa-2.0-api-1.0.1.Final.jar\n" +
"./lib/saaj-impl.jar\n" +
"./lib/autocompleteTextFileld.jar\n" +
"./lib/mimepull.jar\n" +
"./lib/jersey-server-1.4.jar\n" +
"./lib/slf4j-api-1.7.5.jar\n" +
"./lib/derbytools.jar\n" +
"./lib/commons-logging.jar\n" +
"./lib/jxl.jar\n" +
"./lib/jstl.jar\n" +
"./lib/zxing-javase.jar\n" +
"./lib/spring-aop-4.0.0.M2.jar\n" +
"./lib/org.hamcrest.core_1.3.0.v201303031735.jar\n" +
"./lib/derbyLocale_it.jar\n" +
"./lib/aopalliance-1.0.jar\n" +
"./lib/jsr181-api.jar\n" +
"./lib/jettison-1.1.jar\n" +
"./lib/property.jar\n" +
"./lib/derbyoptionaltools.jar\n" +
"./lib/spring-core-4.0.0.M2.jar\n" +
"./lib/jboss-transaction-api_1.1_spec-1.0.0.Final.jar\n" +
"./lib/jboss-logging-3.1.0.GA.jar\n" +
"./lib/aspectjweaver-1.6.9.jar\n" +
"./lib/commons-lang3-3.1.jar\n" +
"./lib/streambuffer.jar";
String ss = "./src/encryptionMine/ClassLoaderMineOlder.java\n" +
"./src/encryptionMine/DeCipher.java\n" +
"./src/encryptionMine/ClassLoaderMine.java\n" +
"./src/com/taiyuan/hrmanager/updatepicture/test.java\n" +
"./src/com/taiyuan/hrmanager/updatepicture/UpdatePictureMapNew.java\n" +
"./src/com/taiyuan/hrmanager/updatepicture/PictureTrigger.java\n" +
"./src/com/taiyuan/hrmanager/updatepicture/PictureUpdateErCode.java\n" +
"./src/com/taiyuan/hrmanager/updatepicture/UpdatePictureMap.java\n" +
"./src/com/taiyuan/hrmanager/fp/Fingerprint.java\n" +
"./src/com/taiyuan/hrmanager/fp/FPComNameInterface.java\n" +
"./src/com/taiyuan/hrmanager/fp/FrameworkFPVerifyTask.java\n" +
"./src/com/taiyuan/hrmanager/fp/FPCMD.java\n" +
"./src/com/taiyuan/hrmanager/fp/Command.java\n" +
"./src/com/taiyuan/hrmanager/fp/FrameworkFPComNameTask.java\n" +
"./src/com/taiyuan/hrmanager/fp/ContinueRead.java\n" +
"./src/com/taiyuan/hrmanager/fp/FrameworkFPEnrollTask.java\n" +
"./src/com/taiyuan/hrmanager/simple/framework/TaskTabel.java\n" +
"./src/com/taiyuan/hrmanager/simple/framework/HRMPathFactory.java\n" +
"./src/com/taiyuan/hrmanager/simple/framework/HRMThreadPool.java\n" +
"./src/com/taiyuan/hrmanager/simple/task/EntpriseInfomationRefreshTask.java\n" +
"./src/com/taiyuan/hrmanager/simple/task/WaitingIconTask.java\n" +
"./src/com/taiyuan/hrmanager/simple/task/LockTask.java\n" +
"./src/com/taiyuan/hrmanager/simple/task/FrameworkSubmitTask.java\n" +
"./src/com/taiyuan/hrmanager/simple/task/MainTask.java\n" +
"./src/com/taiyuan/hrmanager/simple/task/CreateProcessTask.java\n" +
"./src/com/taiyuan/hrmanager/simple/task/SimpleResultTask.java\n" +
"./src/com/taiyuan/hrmanager/simple/task/HRMTask.java\n" +
"./src/com/taiyuan/hrmanager/simple/task/UserlistTask.java\n" +
"./src/com/taiyuan/hrmanager/simple/task/ResultTask.java\n" +
"./src/com/taiyuan/hrmanager/simple/task/FrameworkRefreshTask.java\n" +
"./src/com/taiyuan/hrmanager/simple/task/UpdatePasswordTask.java\n" +
"./src/com/taiyuan/hrmanager/ui/factory/UIFactory.java\n" +
"./src/com/taiyuan/hrmanager/ui/factory/MainConfig.java\n" +
"./src/com/taiyuan/hrmanager/ui/factory/Nodes.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/PersonButton.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/Labelslmpl.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/ModfiyNewPassword.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/BasicInfoVBox.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/ClickButton.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/BasicsInfomationSuperLabels.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/RotatePageCanv.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/ImagesButtons.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/SuperTabs.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/FristPageVB.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/userReason.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/RotatePageTipsVb.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/ImagessuperLabels.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/RotateFisrtPageHBox.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/RotatePageShape.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/RoutineLabel.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/RotateButtonvb.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/FristPageVbox.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/SuperTextField.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/BasicsISuperLabel.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/RotateTooltip.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/Buttonlmpl.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/ModifyOldPassWordText.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/TrainDateSelectBox.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/ModfiyPassText.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/AborderNormallinks.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/Setbackground.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/FristPageCanvas.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/Jumplabels.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/SuperColumn.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/SuperPasswordText.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/ModifpwdLabel.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/BasicReporter.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/EnterpriseLabel.java\n" +
"./src/com/taiyuan/hrmanager/ui/client/Controllers/RotateTooltiphb.java\n" +
"./src/com/taiyuan/hrmanager/ui/menu/MenuInterface.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/OrgInformationManagerTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/AdminTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/ConfigTigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/DataManagerTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/SecretorTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/Operator.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/routine/TransferRoutineTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/routine/CarrierRoutineTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/routine/RecallRoutineTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/routine/OutJobRoutineTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/routine/TrainRoutineTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/routine/AbstractTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/routine/AlterRoutineTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/routine/AbroadRoutineTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/routine/CircleCheckRoutineTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/routine/RigisterRoutineTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/routine/ReportRoutineTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/routine/RoutineTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/RotatePrintTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/RestartTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/AuditorTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/OperatorTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/RotateUpdatePicture.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/RotateRestartTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/HelpTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/RatateHelperTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/ReturnBack.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/RotateDataManager.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/PostManagerTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/Trigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/PrintTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/VersionTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/trigger/ExitTrigger.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/AduitTab.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/HardwareTestOpera.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/SecretTab.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/AdminTab.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/AbstractTab.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/routine/person/info/BasicsInfomation.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/routine/person/info/PersonInfoUI.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/routine/person/info/HistoryInfomation.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/routine/person/info/PostlistUI.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/InsertInFirst.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/RoutineTab.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/ConfigTab.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/SearchPaneSub.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/ChgPwIntime.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/SearchTab.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/SearchPane.java\n" +
"./src/com/taiyuan/hrmanager/ui/lefttabs/HardwareTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/CreateAuthorTab.java\n" +
"./src/com/taiyuan/hrmanager/ui/dataupdate/DataUp.java\n" +
"./src/com/taiyuan/hrmanager/ui/dataupdate/DataUpdate.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/DataOutputManager.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/FirstPage.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/FristPageData.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/RotateFristPage.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/UserTableData.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/Auditor.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/RoutineUI.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/EncoderBARCode.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/PersonRoutinePane.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/TrainSetToolOld.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/ResignRoutinePane.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/RecallRoutinePane.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/DecodeBarCode.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/TransferRoutinePane.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/CarrierRepelRoutinePane.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/TrainRoutinePane.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/PictureUI.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/AbstractRoutinePane.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/FrameWorkTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/BulletBox.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/TaskTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/CircleCheckRountinePane.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/InformationUpdateRoutinePane.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/ReportRoutinePane.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/RoutinePane.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/AbroadRoutinePane.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/TrainSetNew.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/routine/RoutineTableUI.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/PersonDataUity.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/SuperVBox.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/SetFirsPageDate.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/PostManagerUI.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/UserTable.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/AuditorView.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/PictureSrcChooser.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/Superparet.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/AdminTable.java\n" +
"./src/com/taiyuan/hrmanager/ui/right/EnterpriseInfomation.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/AdminTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/TestSecurityAffectUser.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/StageTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/ChartTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/EnterpriseInfoTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/HPFDemos.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/Timetest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/InOutManagerTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/PersonInfoText.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/QRCodeTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/TestAdmin.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/ZipTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/ZipTest1.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/UpDatePictureTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/HumanInfoTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/LInede.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/BottomTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/TestStage.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/Operatortest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/TestPostManager.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/SeurityTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/TestSystemInformation.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/RoutineListTest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/RoutineUITest.java\n" +
"./src/com/taiyuan/hrmanager/ui/test/FileUtil.java\n" +
"./src/com/taiyuan/hrmanager/ui/OutLinkInTime.java\n" +
"./src/com/taiyuan/hrmanager/ui/StartInEncry.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/RotateFristButton.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/TotelFramework.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/AbstractLoginFramework.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/MainFramework.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/UpdatePasswordSure.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/ExaHardBinding.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/RotateFristPageButtons.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/ProcessFramework.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/Frame.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/Framework.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/RightFrameworkInterface.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/TabInterface.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/PersonCell.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/BottomFramworkInterface.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/CanCallbackFramework.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/ResultableUI.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/PopResultFramework.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/LoginFrameworkInterface.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/AbstractFramewok.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/ShortCutPaneInterface.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/Assemable.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/interfaces/NumReason.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/ProcessPopupFramework.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/UpdatePasswordUI.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/AdminAlterframework.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/HRSelectModel.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/RotateText.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/ChangesVBox.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/ExaHardWareCheck.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/SimpleShortCutPane.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/ExampleLoginFramework.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/FlipView.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/ExaHardWareBinding.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/SimpleBottom.java\n" +
"./src/com/taiyuan/hrmanager/ui/frameworks/SimpleRight.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/TopSystemMenu.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/AbstractMenu.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/TopDataStaticMenu.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/SecurityMenu.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/TopBasicsConfigureMenu.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/TopHelpercenterMenu.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/AdminMenu.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/OperatorHarewrae.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/Items/TransfertonewpostItem.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/Items/RegisterItem.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/Items/GoabroadItem.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/Items/SystemModfiyPwdMenuItem.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/Items/SystemItemoutlog.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/Items/QuitItem.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/Items/ModifyItem.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/Items/RepayingItem.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/Items/HelperConfidentialityMenuItem.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/Items/HelperVersionIinformationMenuItem.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/Items/PresentationItem.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/Items/TrainItem.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/AuditorMenu.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/AdminMenuOperat.java\n" +
"./src/com/taiyuan/hrmanager/ui/top/Menus/TopRoutineMenu.java\n" +
"./src/com/taiyuan/hrmanager/ui/NavigatorTab.java\n" +
"./src/com/taiyuan/hrmanager/ui/firstpage/AdminFirstPage.java\n" +
"./src/com/taiyuan/hrmanager/ui/annotation/InsertAfterLogin.java\n" +
"./src/com/taiyuan/hrmanager/ui/annotation/ShortAnnotation.java\n" +
"./src/com/taiyuan/hrmanager/ui/annotation/ConfigByAuthority.java\n" +
"./src/com/taiyuan/hrmanager/ui/annotation/TriggerConfig.java\n" +
"./src/com/taiyuan/hrmanager/ui/annotation/TabAnnotation.java\n" +
"./src/com/taiyuan/hrmanager/ui/annotation/MenuAnnotation.java\n" +
"./src/com/taiyuan/hrmanager/ui/annotation/RotatesPage.java\n" +
"./src/com/taiyuan/hrmanager/ui/annotation/MapConfig.java\n" +
"./src/com/taiyuan/hrmanager/ui/annotation/FirstConfig.java\n" +
"./src/com/taiyuan/hrmanager/ui/annotation/MutiConfig.java\n" +
"./src/com/taiyuan/hrmanager/ui/annotation/Config.java\n" +
"./src/com/taiyuan/hrmanager/ui/Framework/dustbin/LoginDataTask.java\n" +
"./src/com/taiyuan/hrmanager/ui/ExampleUI.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/Invalid.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/UIDatafromGate.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/HumanTreeData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/AbroadData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/TrainData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/TransferData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/PictureData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/ResignData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/TrainMany.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/Picture.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/ReportData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/JasonUtil.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/EnterpriseInformationData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/CarrierRepelData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/RecallData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/InformationUpdateData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/Password.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/PostData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/PersonData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/CircleCheckData.java\n" +
"./src/com/taiyuan/hrmanager/ui/data/RoutineData.java\n" +
"./src/com/taiyuan/hrmanager/ui/StartTwo.java\n" +
"./src/com/taiyuan/hrmanager/encryption/ClassLoaderMine.java\n" +
"./src/com/taiyuan/hrmanager/encryption/MyCipher.java\n" +
"./src/com/taiyuan/hrmanager/util/InvalidChoiceButton.java\n" +
"./src/com/taiyuan/hrmanager/util/gmutil/SM2Util.java\n" +
"./src/com/taiyuan/hrmanager/util/gmutil/FileCutting.java\n" +
"./src/com/taiyuan/hrmanager/util/gmutil/SM2.java\n" +
"./src/com/taiyuan/hrmanager/util/gmutil/ZipUtil.java\n" +
"./src/com/taiyuan/hrmanager/util/gmutil/DoOut.java\n" +
"./src/com/taiyuan/hrmanager/util/gmutil/ToECPoint.java\n" +
"./src/com/taiyuan/hrmanager/util/gmutil/SM2KeyPair.java\n" +
"./src/com/taiyuan/hrmanager/util/BindingTextField.java\n" +
"./src/com/taiyuan/hrmanager/util/InputError.java\n" +
"./src/com/taiyuan/hrmanager/util/Lissence.java\n" +
"./src/com/taiyuan/hrmanager/util/HumanSelecter.java\n" +
"./src/com/taiyuan/hrmanager/util/GMBaseUtil.java\n" +
"./src/com/taiyuan/hrmanager/util/TrainSetTool1.java\n" +
"./src/com/taiyuan/hrmanager/util/LoggerCreaterNew.java\n" +
"./src/com/taiyuan/hrmanager/util/Clock.java\n" +
"./src/com/taiyuan/hrmanager/util/SearchString.java\n" +
"./src/com/taiyuan/hrmanager/util/CreateQRCode.java\n" +
"./src/com/taiyuan/hrmanager/util/LoginvalidTextField.java\n" +
"./src/com/taiyuan/hrmanager/util/CheckMacUtil.java\n" +
"./src/com/taiyuan/hrmanager/util/InvalidImagePathStringList.java\n" +
"./src/com/taiyuan/hrmanager/util/TrainSetTool.java\n" +
"./src/com/taiyuan/hrmanager/util/RememberInvalidTextField.java\n" +
"./src/com/taiyuan/hrmanager/util/HRManagerReadXls.java\n" +
"./src/com/taiyuan/hrmanager/util/GroupInvalidButton.java\n" +
"./src/com/taiyuan/hrmanager/util/InvalidSelectedNameList.java\n" +
"./src/com/taiyuan/hrmanager/util/OfdScanner.java\n" +
"./src/com/taiyuan/hrmanager/util/CopyFileUtil.java\n" +
"./src/com/taiyuan/hrmanager/util/InvalidTextField.java\n" +
"./src/com/taiyuan/hrmanager/util/LoginPassText.java\n" +
"./src/com/taiyuan/hrmanager/util/InvalidImageTwo.java\n" +
"./src/com/taiyuan/hrmanager/util/LabelS.java\n" +
"./src/com/taiyuan/hrmanager/util/LogCreator.java\n" +
"./src/com/taiyuan/hrmanager/util/BeanDao.java\n" +
"./src/com/taiyuan/hrmanager/util/ExmapleXlsBean.java\n" +
"./src/com/taiyuan/hrmanager/util/ExcelConfig.java\n" +
"./src/com/taiyuan/hrmanager/util/Regex.java\n" +
"./src/com/taiyuan/hrmanager/util/SM3Util.java\n" +
"./src/com/taiyuan/hrmanager/util/InvalidTextArea.java\n" +
"./src/com/taiyuan/hrmanager/util/FormatHTMLLayout.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/Organization.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/History.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/OrganizationHistory.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/DataReturn.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/Post.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/Industry.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/transferToXml.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/IdControl.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/Authorities.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/Human.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/Initializate.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/OutIn.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/Routine.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/Risk.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/Record.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/SysConfig.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/Usr.java\n" +
"./src/com/taiyuan/hrmanager/data/entity/Statistics.java\n" +
"./src/com/taiyuan/hrmanager/data/AccountThread.java\n" +
"./src/com/taiyuan/hrmanager/data/DataProcessInterface.java\n" +
"./src/com/taiyuan/hrmanager/data/DataThread.java\n" +
"./src/com/taiyuan/hrmanager/data/TrustAllTrustManager.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Selfvaluation.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_OrganizationHistory.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Datagate.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/DatagateTest.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Dataitem.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_Report.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_Resign.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_Recall.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_History.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_InformationUpdate.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_Organization.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_Rigister.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_Routine.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_User.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_Train.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_Abroad.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_CarrierRepel.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/ReturnData.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_Human.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_Post.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/DatagateCreator.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_Transfer.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_CircleCheck.java\n" +
"./src/com/taiyuan/hrmanager/data/gate/Gate_OutIn.java\n" +
"./src/com/taiyuan/hrmanager/data/FadeDataProcess.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/RoutineDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/IdControlDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/BaseDaoImpl.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/HumanDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/UsrDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/SysConfigDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/RecordDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/OrganizationDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/FlagDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/StatisticsDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/RiskDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/OrganizationHistoryDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/AuthorityDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/HistoryDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/BaseDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/junit/DaoTest.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/junit/BaseDAOTestCaseJunit44.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/PostDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/IndustryDao.java\n" +
"./src/com/taiyuan/hrmanager/data/dao/OutInDao.java\n" +
"./src/com/taiyuan/hrmanager/data/util/ReflectionUtils.java\n" +
"./src/com/taiyuan/hrmanger/scaner/ScannerTrigger.java\n" +
"./src/com/taiyuan/hrmanger/scaner/ScannerProgrem.java\n" +
"./src/com/taiyuan/hrmanger/scaner/RunScanner.java\n" +
"./src/com/taiyuan/hrmanger/scaner/ScannerRegister.java\n" +
"./src/com/taiyuan/hrmanger/scaner/ScannerDoScan.java\n" +
"./src/com/taiyuan/hrmanger/scaner/AbstractScaner.java\n" +
"./src/com/taiyuan/hrmanger/scaner/TEST.java\n" +
"./src/com/taiyuan/hrmanger/scaner/ScannerGetButton.java\n" +
"./src/com/taiyuan/hrmanger/scaner/ScannerUnregister.java\n";
String s1 = s.replaceAll("\n", ";");
String ss1 = ss.replaceAll("\n",";");
System.out.println(s1);
System.out.println("D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\activation-1.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\AESCodec.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\ant.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\antlr-2.7.7.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\aopalliance-1.0.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\asm-3.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\asm-3.3.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\asm-commons-3.3.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\asm-tree-3.3.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\aspectjtools-1.5.0.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\aspectjweaver-1.6.9.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\autocompleteTextFileld.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\bcprov-jdk16-140.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\BussinessImage.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\cglib-nodep-2.2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-beanutils-1.7.0.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-beanutils-1.8.0.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-codec-1.9.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-collections4-4.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-fileupload-1.2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-fileupload-1.3.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-httpclient-3.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-io-2.0.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-lang-2.5.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-lang3-3.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-logging-1.1.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-logging-1.1.3.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-logging-1.2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-logging.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\commons-pool-1.5.3.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\core-3.0.0.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\core-3.1.0-sources.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derby.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyclient.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_cs.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_de_DE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_es.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_fr.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_hu.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_it.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_ja_JP.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_ko_KR.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_pl.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_pt_BR.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_ru.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_zh_CN.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyLocale_zh_TW.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbynet.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyoptionaltools.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbyrun.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\derbytools.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\dom4j-1.6.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\ezmorph-1.0.6.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\FastInfoset-1.2.2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\FastInfoset.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\fluent-hc-4.5.2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\freemarker-2.3.19.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\gmbal-api-only.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\gson-2.2.4.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\ha-api.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\hibernate-commons-annotations-4.0.1.Final.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\hibernate-commons-annotations-4.0.2.Final.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\hibernate-core-4.1.4.Final.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\hibernate-core-4.2.3.Final.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\hibernate-entitymanager-4.1.4.Final.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\hibernate-jpa-2.0-api-1.0.1.Final.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\httpclient-4.5.2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\httpclient-cache-4.5.2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\httpclient-win-4.5.2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\httpcore-4.4.4.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\httpmime-4.5.2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jackson-all-1.7.6.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jackson-annotations-2.5.3.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jackson-core-2.5.3.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jackson-core-asl-1.5.5.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jackson-databind-2.5.3.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jackson-jaxrs-1.5.5.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jackson-mapper-asl-1.5.5.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\javase-2.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\javassist-3.11.0.GA.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\javassist-3.15.0-GA.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\javax.annotation-api.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\javax.xml.soap-api.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jaxb-api-2.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jaxb-api.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jaxb-core.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jaxb-impl-2.1.12.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jaxb-impl.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jaxb-jxc.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jaxb-xjc.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jaxws-api.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jaxws-rt.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jaxws-tools.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jbarcode-0.2.8.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jboss-logging-3.1.0.GA.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jboss-transaction-api_1.1_spec-1.0.0.Final.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jboss-transaction-api_1.1_spec-1.0.1.Final.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jdom-1.0.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jersey-atom-1.4.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jersey-client-1.4.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jersey-core-1.4.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jersey-fastinfoset-1.4.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jersey-json-1.4.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jersey-multipart-1.4.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jersey-server-1.4.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jettison-1.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jna-4.1.0.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jna-platform-4.1.0.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jpush-client-3.1.3.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\json-lib-2.3-jdk15.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jsonwebservice-ri-0.9.0.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jsr181-api.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jsr311-api-1.1.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jstl.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\junit.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\jxl.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\log4j-1.2.16.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\log4j-1.2.17.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\mail-1.4.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\management-api.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\mimepull-1.3.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\mimepull.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\mysql-connector-java-5.1.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\ognl-3.0.6.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\ojdbc14.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.apache.servicemix.bundles.quartz-1.5.2_1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.hamcrest.core_1.3.0.v201303031735.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.aop-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.asm-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.aspects-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.beans-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.context-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.context.support-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.core-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.expression-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.instrument-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.instrument.tomcat-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.jms-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.oxm-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.web-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.web.portlet-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.web.servlet-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\org.springframework.web.struts-3.1.1.RELEASE.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\pinyin4j-2.5.0.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\poi-3.16-beta2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\poi-ooxml-3.16.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\poi-ooxml-schemas-3.16.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\policy.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\property.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\QRCode.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\resolver.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\rome-0.9.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\RXTXcomm.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\saaj-impl.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\Searcher.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\slf4j-api-1.6.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\slf4j-api-1.7.5.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-aop-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-aspects-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-beans-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-build-src-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-context-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-context-support-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-core-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-expression-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-instrument-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-instrument-tomcat-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-jdbc-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-jms-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-messaging-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-orm-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-oxm-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-test-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-tx-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-web-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-webmvc-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-webmvc-portlet-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\spring-websocket-4.0.0.M2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\standard.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\stax-api-1.0-2.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\stax-ex.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\stax2-api.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\streambuffer.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\struts2-core-2.3.15.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\struts2-json-plugin-2.3.4.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\struts2-spring-plugin-2.3.15.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\thumbnailator-0.4.7.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\winszipaes_zh_CN_supported_20120416.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\woodstox-core-asl.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\xmlbeans-2.6.0.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\xwork-core-2.3.15.1.jar;D:\\SingleHRManger1.0(scannerAndFriger)\\lib\\zxing-javase.jar");
System.out.print(" ");
System.out.print("D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\data\\dao\\junit\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\data\\dao\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\data\\entity\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\data\\gate\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\data\\util\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\data\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\encryption\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\fp\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\simple\\framework\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\simple\\task\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\annotation\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\client\\Controllers\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\data\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\dataupdate\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\factory\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\firstpage\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\Framework\\dustbin\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\frameworks\\interfaces\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\frameworks\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\lefttabs\\routine\\person\\info\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\lefttabs\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\menu\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\right\\routine\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\right\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\test\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\top\\Menus\\Items\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\top\\Menus\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\trigger\\routine\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\trigger\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\ui\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\updatepicture\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\util\\gmutil\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanager\\util\\*.java D:\\SingleHRManger1.0(scannerAndFriger)\\src\\com\\taiyuan\\hrmanger\\scaner\\*.java");
} }
public List<String> dirPath = new ArrayList<>();
@Test
public void test2(){
File file = new File("D:\\src\\com\\taiyuan");
doDir(file);
for (String s:dirPath){
System.out.print(s+"\\*.java ");
}
}
public void doDir(File file){
boolean haveJave = false;
for(File file1:file.listFiles()){
if(file1.isFile()&&file1.getName().endsWith(".java")){
haveJave = true;
}
if(file1.isDirectory()){
doDir(file1);
}
}
if(haveJave){
dirPath.add(file.getAbsolutePath());
}
}
@Test
public void test3(){
StringBuilder sb = new StringBuilder();
File file = new File("D:\\lib");
for(File file1:file.listFiles()){
sb.append(file1.getAbsolutePath()+";");
}
System.out.println(sb.toString());
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论