Ver código fonte

Classloader should be added despite being a non-Gradle project

Toni Helenius 2 anos atrás
pai
commit
d7425be33c

+ 10 - 8
jme3-core/src/com/jme3/gde/core/assets/ProjectAssetManager.java

@@ -165,7 +165,7 @@ public class ProjectAssetManager extends DesktopAssetManager {
             removeClassLoader(loader);
         }
         SourceGroup[] groups = sources.getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA);
-        List<URL> urls = new LinkedList<URL>();
+        List<URL> urls = new LinkedList<>();
         for (SourceGroup sourceGroup : groups) {
             ClassPath path = ClassPath.getClassPath(sourceGroup.getRootFolder(), ClassPath.EXECUTE);
             if (path == null) {
@@ -191,11 +191,18 @@ public class ProjectAssetManager extends DesktopAssetManager {
             }
         }
 
-        // Gradle
+        loadGradleClassLoader(urls);
+
+        loader = new URLClassLoader(urls.toArray(URL[]::new), getClass().getClassLoader());
+        addClassLoader(loader);
+        logger.log(Level.FINE, "Updated {0} classpath entries and {1} url locators for project {2}", new Object[]{classPathItems.size(), jarItems.size(), project.toString()});
+    }
+
+    private void loadGradleClassLoader(List<URL> urls) {
         GradleBaseProject gradleProject = GradleBaseProject.get(project);
         if (gradleProject == null) {
 
-            // Not a Gradle project
+            // Ant, Maven etc. project
             return;
         }
 
@@ -233,12 +240,7 @@ public class ProjectAssetManager extends DesktopAssetManager {
                             "com.jme3.asset.plugins.UrlLocator");
                 }
             }
-
         }
-
-        loader = new URLClassLoader(urls.toArray(URL[]::new), getClass().getClassLoader());
-        addClassLoader(loader);
-        logger.log(Level.FINE, "Updated {0} classpath entries and {1} url locators for project {2}", new Object[]{classPathItems.size(), jarItems.size(), project.toString()});
     }
 
     FileChangeListener listener = new FileChangeListener() {