@@ -136,25 +136,28 @@ public void testResolveMultipleNonModularPlugins() throws IOException, ClassNotF
136136 Path jar1 = createNonModularPluginJar (home , "plugin1" , "p" , "A" );
137137 Path jar2 = createNonModularPluginJar (home , "plugin2" , "q" , "B" );
138138
139- var loader1 = createClassLoader (jar1 );
140- var loader2 = createClassLoader (jar2 );
141-
142- PluginBundle bundle1 = createMockBundle ("plugin1" , null , "p.A" );
143- PluginBundle bundle2 = createMockBundle ("plugin2" , null , "q.B" );
144- PluginsLoader mockPluginsLoader = mock (PluginsLoader .class );
145-
146- when (mockPluginsLoader .pluginLayers ()).thenReturn (
147- Stream .of (new TestPluginLayer (bundle1 , loader1 , ModuleLayer .boot ()), new TestPluginLayer (bundle2 , loader2 , ModuleLayer .boot ()))
148- );
149- PluginsResolver pluginsResolver = PluginsResolver .create (mockPluginsLoader );
150-
151- var testClass1 = loader1 .loadClass ("p.A" );
152- var testClass2 = loader2 .loadClass ("q.B" );
153- var resolvedPluginName1 = pluginsResolver .resolveClassToPluginName (testClass1 );
154- var resolvedPluginName2 = pluginsResolver .resolveClassToPluginName (testClass2 );
155-
156- assertEquals ("plugin1" , resolvedPluginName1 );
157- assertEquals ("plugin2" , resolvedPluginName2 );
139+ try (var loader1 = createClassLoader (jar1 ); var loader2 = createClassLoader (jar2 )) {
140+
141+ PluginBundle bundle1 = createMockBundle ("plugin1" , null , "p.A" );
142+ PluginBundle bundle2 = createMockBundle ("plugin2" , null , "q.B" );
143+ PluginsLoader mockPluginsLoader = mock (PluginsLoader .class );
144+
145+ when (mockPluginsLoader .pluginLayers ()).thenReturn (
146+ Stream .of (
147+ new TestPluginLayer (bundle1 , loader1 , ModuleLayer .boot ()),
148+ new TestPluginLayer (bundle2 , loader2 , ModuleLayer .boot ())
149+ )
150+ );
151+ PluginsResolver pluginsResolver = PluginsResolver .create (mockPluginsLoader );
152+
153+ var testClass1 = loader1 .loadClass ("p.A" );
154+ var testClass2 = loader2 .loadClass ("q.B" );
155+ var resolvedPluginName1 = pluginsResolver .resolveClassToPluginName (testClass1 );
156+ var resolvedPluginName2 = pluginsResolver .resolveClassToPluginName (testClass2 );
157+
158+ assertEquals ("plugin1" , resolvedPluginName1 );
159+ assertEquals ("plugin2" , resolvedPluginName2 );
160+ }
158161 }
159162
160163 public void testResolveNonModularPlugin () throws IOException , ClassNotFoundException {
@@ -164,22 +167,22 @@ public void testResolveNonModularPlugin() throws IOException, ClassNotFoundExcep
164167
165168 Path jar = createNonModularPluginJar (home , pluginName , "p" , "A" );
166169
167- var loader = createClassLoader (jar );
168-
169- PluginBundle bundle = createMockBundle (pluginName , null , "p.A" );
170- PluginsLoader mockPluginsLoader = mock (PluginsLoader .class );
170+ try (var loader = createClassLoader (jar )) {
171+ PluginBundle bundle = createMockBundle (pluginName , null , "p.A" );
172+ PluginsLoader mockPluginsLoader = mock (PluginsLoader .class );
171173
172- when (mockPluginsLoader .pluginLayers ()).thenReturn (Stream .of (new TestPluginLayer (bundle , loader , ModuleLayer .boot ())));
173- PluginsResolver pluginsResolver = PluginsResolver .create (mockPluginsLoader );
174+ when (mockPluginsLoader .pluginLayers ()).thenReturn (Stream .of (new TestPluginLayer (bundle , loader , ModuleLayer .boot ())));
175+ PluginsResolver pluginsResolver = PluginsResolver .create (mockPluginsLoader );
174176
175- var testClass = loader .loadClass ("p.A" );
176- var resolvedPluginName = pluginsResolver .resolveClassToPluginName (testClass );
177- var unresolvedPluginName1 = pluginsResolver .resolveClassToPluginName (PluginsResolver .class );
178- var unresolvedPluginName2 = pluginsResolver .resolveClassToPluginName (String .class );
177+ var testClass = loader .loadClass ("p.A" );
178+ var resolvedPluginName = pluginsResolver .resolveClassToPluginName (testClass );
179+ var unresolvedPluginName1 = pluginsResolver .resolveClassToPluginName (PluginsResolver .class );
180+ var unresolvedPluginName2 = pluginsResolver .resolveClassToPluginName (String .class );
179181
180- assertEquals (pluginName , resolvedPluginName );
181- assertNull (unresolvedPluginName1 );
182- assertNull (unresolvedPluginName2 );
182+ assertEquals (pluginName , resolvedPluginName );
183+ assertNull (unresolvedPluginName1 );
184+ assertNull (unresolvedPluginName2 );
185+ }
183186 }
184187
185188 private static URLClassLoader createClassLoader (Path jar ) throws MalformedURLException {
0 commit comments