[FLINK-3886] [clients] Give a better error when the application Main class is not public.
This closes #2043 Project: http://git-wip-us.apache.org/repos/asf/flink/repo Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/6db9e6ae Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/6db9e6ae Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/6db9e6ae Branch: refs/heads/master Commit: 6db9e6ae5c2f4968687a3fcae0520e05442bd9ab Parents: bcf5f46 Author: Niels Basjes <nbas...@bol.com> Authored: Fri May 27 13:51:04 2016 +0200 Committer: Stephan Ewen <se...@apache.org> Committed: Tue May 31 16:39:56 2016 +0200 ---------------------------------------------------------------------- .../apache/flink/client/program/PackagedProgram.java | 4 ++++ .../org/apache/flink/client/program/ClientTest.java | 12 ++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink/blob/6db9e6ae/flink-clients/src/main/java/org/apache/flink/client/program/PackagedProgram.java ---------------------------------------------------------------------- diff --git a/flink-clients/src/main/java/org/apache/flink/client/program/PackagedProgram.java b/flink-clients/src/main/java/org/apache/flink/client/program/PackagedProgram.java index f78502a..40092d8 100644 --- a/flink-clients/src/main/java/org/apache/flink/client/program/PackagedProgram.java +++ b/flink-clients/src/main/java/org/apache/flink/client/program/PackagedProgram.java @@ -484,6 +484,10 @@ public class PackagedProgram { private static void callMainMethod(Class<?> entryClass, String[] args) throws ProgramInvocationException { Method mainMethod; + if (!Modifier.isPublic(entryClass.getModifiers())) { + throw new ProgramInvocationException("The class " + entryClass.getName() + " must be public."); + } + try { mainMethod = entryClass.getMethod("main", String[].class); } catch (NoSuchMethodException e) { http://git-wip-us.apache.org/repos/asf/flink/blob/6db9e6ae/flink-clients/src/test/java/org/apache/flink/client/program/ClientTest.java ---------------------------------------------------------------------- diff --git a/flink-clients/src/test/java/org/apache/flink/client/program/ClientTest.java b/flink-clients/src/test/java/org/apache/flink/client/program/ClientTest.java index cc32d9c..4f9b367 100644 --- a/flink-clients/src/test/java/org/apache/flink/client/program/ClientTest.java +++ b/flink-clients/src/test/java/org/apache/flink/client/program/ClientTest.java @@ -378,7 +378,7 @@ public class ClientTest { } } - private static final class TestExecuteTwice { + public static final class TestExecuteTwice { public static void main(String args[]) throws Exception { final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); @@ -388,7 +388,7 @@ public class ClientTest { } } - private static final class TestEager { + public static final class TestEager { public static void main(String args[]) throws Exception { final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); @@ -396,7 +396,7 @@ public class ClientTest { } } - private static final class TestGetRuntime { + public static final class TestGetRuntime { public static void main(String args[]) throws Exception { final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); @@ -405,7 +405,7 @@ public class ClientTest { } } - private static final class TestGetJobID { + public static final class TestGetJobID { public static void main(String args[]) throws Exception { final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); @@ -414,7 +414,7 @@ public class ClientTest { } } - private static final class TestGetAccumulator { + public static final class TestGetAccumulator { public static void main(String args[]) throws Exception { final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); @@ -423,7 +423,7 @@ public class ClientTest { } } - private static final class TestGetAllAccumulator { + public static final class TestGetAllAccumulator { public static void main(String args[]) throws Exception { final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();