gpt4 book ai didi

java - 在 Java Web 应用程序中,在哪里存储运行时生成的类?

转载 作者:行者123 更新时间:2023-12-01 04:39:43 24 4
gpt4 key购买 nike

我创建了一个项目,它在运行时动态编写、编译和实例化一个新的 java 类,当我在命令行或 eclipse 中运行它时,它工作得很好。最终我的目标是创建一种与 JSP 非常相似的技术;用户提供一个"template"文件,我将其转换为 java 类并实例化该类。我的问题是,我似乎无法在 Web 应用程序上下文中实例化新编译的类。

我的问题的核心是我不知道将编译的类放在哪里以便我可以立即实例化它们。

这是我的目标:

  1. 这将是其他开发人员的通用工具,因此它不能特定于我的文件系统或我的 java 容器。
  2. 如果用户从容器中取消部署其 Web 应用程序,它也应该删除这些生成的类文件。

这是我的想法,但我以前从未做过这样的事情:

我是否将这些生成的类放入类路径的现有条目之一中,如果是的话,是哪一个?我应该让用户提供一个路径,然后我的库会将此路径添加到类路径中吗?也许它们提供了一条路径,而我只是使用自定义类加载器从该路径读取它们?用户已经提供了他们的"template"的路径(例如 WEB-INF/templates),所以我应该将编译的类与原始模板放在一起吗?我的理解是,翻译后的 JSP 文件存储在特定于该 java 容器的专有位置,因此我无法追随 JSP 文件的脚步。

啊啊!我不知所措!也许有一个开源java库可以做类似的事情,我可以研究它来确定它把生成的文件放在哪里??

最佳答案

基本上,您需要定义自己的类加载器并从那里进行加载。

参见How do you change the CLASSPATH within Java?

关于java - 在 Java Web 应用程序中,在哪里存储运行时生成的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16754243/

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