我已经创建了一个项目,可以在运行时动态编写,编译和实例化一个新的java类,当我在命令行或eclipse中运行它时它工作得很好。最终我的目标是创建一种非常类似于JSP的技术;用户提供了一个“模板”文件,我将其翻译成java类并实例化该类。我的问题是,在Web应用程序的上下文中,我似乎无法实例化新编译的类。
我的问题的核心是我不知道在哪里放置我的编译类,以便我可以立即实例化它们。
以下是我的目标:
以下是我的想法,但我之前从未做过这样的事情:
我是否将这些生成的类放入类路径的一个现有条目中,如果是这样的话?我应该让用户提供路径,然后我的库会将此路径添加到类路径中吗?也许他们提供了一个路径,我只是使用自定义类加载器从该路径读取它们?用户已经提供了他们的“模板”的路径(例如WEB-INF / templates),那么我应该将我的编译类与原始模板放在一起吗?我的理解是,翻译的JSP文件存储在特定于该java容器的专有位置,因此我无法跟随JSP文件的脚步。
啊!我不堪重负!也许有一个开源的java库做类似的东西,我可以研究它来确定它放在哪里生成的文件??