gpt4 book ai didi

tomcat - 从tomcat访问类路径动态编译代码片段

转载 作者:行者123 更新时间:2023-11-28 22:22:44 25 4
gpt4 key购买 nike

我有动态生成的 java 代码片段,它引用了 tomcat 类路径中具有公共(public) api 的类。我能够通过反射正确识别这些类的公共(public) API(方法),但是在使用这些信息生成我的 Java 代码之后,我要使用 Java 编译器 API 对其进行编译。

这可能吗?我是否需要获取 tomcat 用于以某种方式加载我的 servlet 的类路径并将其传递给 Java 编译器 API?

安迪

最佳答案

你必须传递类路径..这段代码在类路径中检索东西

List<String> options = new ArrayList<String>();
options.add("-classpath");
StringBuilder sb = new StringBuilder();
URLClassLoader urlClassLoader = (URLClassLoader) Thread.currentThread().getContextClassLoader();
for (URL url : urlClassLoader.getURLs()){
sb.append(url.getFile().replace("%20", " ")).append(File.pathSeparator);
}
options.add(sb.toString());

您将选项传递给 compiler.getTask

CompilationTask task = compiler.getTask(writer, memoryManager, diagnostics, options, classes, compilationUnits);

关于tomcat - 从tomcat访问类路径动态编译代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8766331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com