0

Using:

final Class<?> c = Class.forName(path);

Here is where the classes exist: http://prntscr.com/juqp7g

This is the error:

java.lang.ClassNotFoundException: interfaces/container/InventoryComponentAction
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at scripts.action.ActionManager.init(ActionManager.java:48)
at scripts.system.Application.lambda$0(Application.java:17)
at scripts.system.Application.log(Application.java:29)
at scripts.system.Application.main(Application.java:17)
kay
  • 451
  • 1
  • 3
  • 13

1 Answers1

8

The parameter to Class.forName is not a path, but a fully qualified class name (using dots, not slashes).

Instead of what you're doing, try:

final Class<?> c = Class.forName("interfaces.container.InventoryComponentAction");

or more generally:

final Class<?> c = Class.forName(path.replace('/', '.'));
Erwin Bolwidt
  • 30,799
  • 15
  • 56
  • 79