From bf066d5c82820cdede614ca6c21e2c1c39e6388d Mon Sep 17 00:00:00 2001 From: Maximilian Michels Date: Wed, 10 Aug 2016 12:08:23 +0200 Subject: [PATCH] [FLINK-4236] fix error handling for jar files with no main method This change shows only entry classes with a valid main method. It ignores classes which contain no main method. --- .../runtime/webmonitor/handlers/JarListHandler.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/JarListHandler.java b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/JarListHandler.java index ede80a3c0f01b..8831ef084bcc1 100644 --- a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/JarListHandler.java +++ b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/JarListHandler.java @@ -94,20 +94,23 @@ public boolean accept(File dir, String name) { } catch (IOException ignored) { // we simply show no entries here } - + // show every entry class that can be loaded later on. - PackagedProgram program; for (String clazz : classes) { clazz = clazz.trim(); + + PackagedProgram program = null; try { program = new PackagedProgram(f, clazz, new String[0]); + } catch (Exception ignored) { + // ignore jar files which throw an error upon creating a PackagedProgram + } + if (program != null) { gen.writeStartObject(); gen.writeStringField("name", clazz); String desc = program.getDescription(); gen.writeStringField("description", desc == null ? "No description provided" : desc); gen.writeEndObject(); - } catch (ProgramInvocationException e) { - // } } gen.writeEndArray();