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