Вы создаете новый URLClassLoader
, который указывает на конкретный файл.Выражаясь в качестве аргументов командной строки, вы делаете это так:
java -cp file:///foo/bar/TestHello_1289950330167.java
А затем ваш код вызывает это:
Class.forName("TestHello_1289950330167",true,cl);
Путь к классу - это либо файл JAR, либо папка , а не файл .java!
Вам нужно создать URLClassLoader с ".".toURI().toURL()
в качестве пути к классу, а не javaFileName
.