From 9e29441646434d9f54a2c3e855a724633885d8a4 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 13 八月 2019 19:43:49 +0800
Subject: [PATCH] 缓存开发测试完成
---
WebService/src/main/java/com/java110/web/core/PackageScanner.java | 38 ++++++++++++++++++++++----------------
1 files changed, 22 insertions(+), 16 deletions(-)
diff --git a/WebService/src/main/java/com/java110/web/core/PackageScanner.java b/WebService/src/main/java/com/java110/web/core/PackageScanner.java
index 72bb377..9843d6b 100644
--- a/WebService/src/main/java/com/java110/web/core/PackageScanner.java
+++ b/WebService/src/main/java/com/java110/web/core/PackageScanner.java
@@ -1,8 +1,11 @@
+
package com.java110.web.core;
import org.springframework.util.StringUtils;
-import java.io.*;
+import java.io.File;
+import java.io.FileFilter;
+import java.io.IOException;
import java.net.JarURLConnection;
import java.net.URISyntaxException;
import java.net.URL;
@@ -16,11 +19,11 @@
public abstract class PackageScanner {
- public void packageScanner(Class<?> klass,String suffix) {
+ public void packageScanner(Class<?> klass, String suffix) {
packageScanner(klass.getPackage().getName(), suffix);
}
- public void packageScanner(String packageName,String suffix) {
+ public void packageScanner(String packageName, String suffix) {
String packagePath = packageName.replace(".", File.separator);
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
@@ -29,13 +32,13 @@
while (resources.hasMoreElements()) {
URL url = resources.nextElement();
if (url.getProtocol().equals("jar")) {
- scanPackage(url,suffix);
+ scanPackage(packageName, url, suffix);
} else {
File file = new File(url.toURI());
if (!file.exists()) {
continue;
}
- scanPackage(packageName, file,suffix);
+ scanPackage(packageName, file, suffix);
}
}
} catch (IOException e) {
@@ -45,23 +48,26 @@
}
}
- private void scanPackage(URL url,String suffix) throws IOException {
- JarURLConnection jarUrlConnection = (JarURLConnection) url.openConnection();
+ private void scanPackage(String packageName, URL url, String suffix) throws IOException {
+ JarURLConnection jarUrlConnection = (JarURLConnection) url.openConnection();
JarFile jarFile = jarUrlConnection.getJarFile();
Enumeration<JarEntry> jarEntries = jarFile.entries();
+
while (jarEntries.hasMoreElements()) {
+
JarEntry jarEntry = jarEntries.nextElement();
String jarName = jarEntry.getName();
- if (jarEntry.isDirectory() || !jarName.endsWith(suffix)) {
+ if (jarEntry.isDirectory() || !jarName.endsWith(suffix) || !jarName.startsWith(packageName)) {
continue;
}
- String className = jarName.replace(suffix, "");
- handleResource(className);
+ //String className = jarName.replace(suffix, "");
+
+ handleResource(jarName);
}
}
- private void scanPackage(String packageName, final File currentfile,final String suffix) {
+ private void scanPackage(String packageName, final File currentfile, final String suffix) {
File[] files = currentfile.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
@@ -73,11 +79,11 @@
});
for (File file : files) {
if (file.isDirectory()) {
- scanPackage(packageName + "." + file.getName(), file,suffix);
+ scanPackage(packageName + "." + file.getName(), file, suffix);
} else {
- packageName = packageName.replace(".",File.separator);
- String fileName = packageName + File.separator + file.getName();
- if(StringUtils.isEmpty(fileName) || !fileName.endsWith(suffix)){
+ packageName = packageName.replace(".", File.separator);
+ String fileName = packageName + File.separator + file.getName();
+ if (StringUtils.isEmpty(fileName) || !fileName.endsWith(suffix)) {
continue;
}
handleResource(fileName);
@@ -94,7 +100,7 @@
protected void handleResource(String filePath) {
}
- }.packageScanner("components","js");
+ }.packageScanner("components", "js");
}
}
\ No newline at end of file
--
Gitblit v1.8.0