資源簡介
基于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個文件信息
評論
共有 條評論