private void scanJar(TaskMonitor monitor) throws CancelledException {

		File file = new File(path);

		try (JarFile jarFile = new JarFile(file)) {

			String pathName = jarFile.getName();
			int separatorIndex = pathName.lastIndexOf(File.separator);
			String jarFilename = pathName.substring(separatorIndex + 1);
			monitor.setMessage("Scanning jar: " + jarFilename);

			Enumeration<JarEntry> entries = jarFile.entries();
			while (entries.hasMoreElements()) {
				monitor.checkCancelled();
				processClassFiles(entries.nextElement());
			}
		}
		catch (IOException e) {
			Msg.error(this, "Error reading jarFile: " + path, e);
		}
	}
Pattern for matching jar files in a module lib dir
<p>
The pattern roughly states to accept any path that contains {@code lib} or 
{@code build/libs}, ending in {@code .jar} (non-capturing) and then 
grab that dir's parent and the name of the jar file.
Ghidra/Framework/Generic/src/main/java/ghidra/util/classfinder/ClassJar.java