资源简介
基于java的微信外卖点餐平台,直接部署即可以使用,要求不高的可以直接使用
代码片段和文件信息
package com.cms;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.lang.annotation.Annotation;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import com.jfinal.kit.PathKit;
import com.jfinal.log.Log;
public class ClassScaner {
private static final Log log = Log.getLog(ClassScaner.class);
public static List> scanAnnotationClass(Class annotationClass) {
if (annotationClass == null) {
log.error(“annotationClass: annotationClass is null“);
return null;
}
List classFileList = new ArrayList();
scanClass(classFileList PathKit.getRootClassPath());
List> classList = new ArrayList>();
for (File file : classFileList) {
int start = PathKit.getRootClassPath().length();
int end = file.toString().length() - 6; // 6 == “.class“.length();
String classFile = file.toString().substring(start + 1 end);
Class clazz = classForName(classFile.replace(File.separator “.“));
if (clazz != null && clazz.getAnnotation(annotationClass)!=null) {
classList.add(clazz);
}
}
return classList;
}
public static List> scanSubClass(Class pclazz boolean mustbeCanNewInstanceboolean scanLib) {
if (pclazz == null) {
log.error(“scanClass: parent clazz is null“);
return null;
}
List classFileList = new ArrayList();
scanClass(classFileList PathKit.getRootClassPath());
List> classList = new ArrayList>();
for (File file : classFileList) {
int start = PathKit.getRootClassPath().length();
int end = file.toString().length() - 6; // 6 == “.class“.length();
String classFile = file.toString().substring(start + 1 end);
Class clazz = classForName(classFile.replace(File.separator “.“));
if (clazz != null && pclazz.isAssignableFrom(clazz)) {
if (mustbeCanNewInstance) {
if (clazz.isInterface())
continue;
if (Modifier.isAbstract(clazz.getModifiers()))
continue;
}
classList.add(clazz);
}
}
//扫描lib目录
if(scanLib){
File jarsDir = new File(PathKit.getWebRootPath() + “/WEB-INF/lib“);
if (jarsDir.exists() && jarsDir.isDirectory()) {
File[] jarFiles = jarsDir.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
String name = pathname.getName().toLowerCase();
return name.endsWith(“.jar“) && name.startsWith(“jpress“);
}
});
if (jarFiles != null && jarFiles.length > 0) {
for (File f : jarFiles) {
try {
classList.addAll(scanSubClass(pclazz new JarFile(f) mustbeCanNewInstance));
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
return classList;
}
public
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1432 2018-11-04 16:46 JFinalShop\.classpath
文件 300 2018-11-04 16:51 JFinalShop\.git\config
文件 73 2018-11-04 16:41 JFinalShop\.git\desc
文件 79 2018-11-04 16:41 JFinalShop\.git\FETCH_HEAD
文件 23 2018-11-04 16:41 JFinalShop\.git\HEAD
文件 478 2018-11-04 16:41 JFinalShop\.git\hooks\applypatch-msg.sample
文件 896 2018-11-04 16:41 JFinalShop\.git\hooks\commit-msg.sample
文件 3327 2018-11-04 16:41 JFinalShop\.git\hooks\fsmonitor-watchman.sample
文件 189 2018-11-04 16:41 JFinalShop\.git\hooks\post-update.sample
文件 424 2018-11-04 16:41 JFinalShop\.git\hooks\pre-applypatch.sample
文件 1638 2018-11-04 16:41 JFinalShop\.git\hooks\pre-commit.sample
文件 1348 2018-11-04 16:41 JFinalShop\.git\hooks\pre-push.sample
文件 4898 2018-11-04 16:41 JFinalShop\.git\hooks\pre-reba
文件 544 2018-11-04 16:41 JFinalShop\.git\hooks\pre-receive.sample
文件 1492 2018-11-04 16:41 JFinalShop\.git\hooks\prepare-commit-msg.sample
文件 3610 2018-11-04 16:41 JFinalShop\.git\hooks\update.sample
文件 100259 2018-11-04 16:41 JFinalShop\.git\index
文件 240 2018-11-04 16:41 JFinalShop\.git\info\exclude
文件 135 2018-11-04 16:41 JFinalShop\.git\logs\HEAD
文件 135 2018-11-04 16:41 JFinalShop\.git\logs\refs\heads\master
文件 175 2018-11-04 16:41 JFinalShop\.git\logs\refs\remotes\origin\master
文件 25208 2018-11-04 16:41 JFinalShop\.git\ob
文件 9303779 2018-11-04 16:41 JFinalShop\.git\ob
文件 46 2018-11-04 16:41 JFinalShop\.git\packed-refs
文件 41 2018-11-04 16:41 JFinalShop\.git\refs\heads\master
文件 41 2018-11-04 16:41 JFinalShop\.git\refs\remotes\origin\master
文件 9 2018-11-04 16:44 JFinalShop\.gitignore
文件 1086 2018-11-04 16:44 JFinalShop\.project
文件 639 2018-11-04 16:44 JFinalShop\.settings\.jsdtscope
文件 155 2018-11-04 16:43 JFinalShop\.settings\org.eclipse.core.resources.prefs
............此处省略1127个文件信息
相关资源
- 《Java核心技术:第一二卷英文版原书
- aspose-words-19.1-jdk16 crack 记录及相关包
- 酒店管理系统ssh demo版
- twaver java 4.5.0
- 网上商城系统javaWeb+Struts2+Hibernate+Sp
- 进销存系统 java源码
- android 音乐播放器
- java电子商务系统毕业论文项目
- java在线编辑保存Word文件支持跨浏览器
- CRM客户管理系统源代码JAVA+SSH框架模式
- java 连接opc服务源码两种方式Utgard,
- 基于Java的B/S结构的人力资源管理系统
- java 将amr转换为MP3文件
- javaWeb超市管理系统源码94068
- java框架SSM的用户,管理员,快递员的
- 库存管理系统JAVA+MYSQL
- selenium-java-2.46.0.zip
- epass 1000 开发文档及
- c# 转java工具
-
ob
ject-Oriented+Data+Structures+Using+Java+ - 自己动手写网络爬虫_
- jsp+servlet+javabean小区物业管理系统
- java web 课程设计 --- 网上商城系统(文
- Javaweb常用登录和注册功能实现涉及的
- 梁勇 Java语言程序设计奖励章节31到
- java设计--基于ssm疫情防控信息管理系
- javaWeb仓库管理系统含数据库文件
- JavaEE健康管理系统
- ansj所需jar及library
- Java.Servlets.编程指南.zip
评论
共有 条评论