private void loadActionsFromFile(final Set<Class<?>> actionClasses) { try { ClassLoader loader = Thread.currentThread().getContextClassLoader(); Properties properties = new Properties(); try (InputStream stream = loader.getResourceAsStream("/configuration.properties")) { if (stream == null) { throw new RuntimeException(); } properties.load(stream); } for (FenixFrameworkArtifact artifact : FenixFrameworkArtifact.fromName(properties.getProperty("app.name")).getArtifacts()) { try (InputStream stream = loader.getResourceAsStream(artifact.getName() + "/.actionAnnotationLog")) { if (stream != null) { List<String> classnames = IOUtils.readLines(stream); for (String classname : classnames) { try { Class<?> type = loader.loadClass(classname); actionClasses.add(type); } catch (final ClassNotFoundException e) { e.printStackTrace(); } } } } } } catch (IOException | FenixFrameworkProjectException e) { e.printStackTrace(); } }