I am using JavaCompiler API to compile a string representation of an existing java class in a Maven project. Yet, I'm getting a linker error due to internal dependencies and I'm not sure how to include internal dependencies in the compilation task.
Here's the code snippet:
String importedClasses = "/Users/XXXX/Desktop/defects4j/project_repos/gson/gson/target/classes/com/google/gson/reflect/TypeToken.class";
List<String> dependencies = new ArrayList<>();
dependencies.add("com.google.gson.reflect.TypeToken");
JavaFileObject file = new JavaSourceFromString(this.className, writer.toString());
Iterable<? extends JavaFileObject> compilationUnits = Arrays.asList(file);
JavaCompiler.CompilationTask task = compiler.getTask(null, null, diagnostics, Arrays.asList("-classpath", "/Users/XXXX/Desktop/defects4j/project_repos/gson/gson/target/classes/", "-d", outputDir, "-cp", importedClasses), dependencies, compilationUnits);
boolean success = task.call();