当前位置: 首页 > 知识库问答 >
问题:

如何使Java程序在运行时生成另一个Java应用程序

宋子辰
2023-03-14
    null

(如果可能的话,它应该在db中创建表并生成html文件。我看到了http://velocity.apache.org/,所以是否可以使用它生成java代码。)

共有1个答案

申屠弘图
2023-03-14

从实际的角度来看,你的目标没有多大的意义。我希望我的回答能帮助你理解为什么。

我能做一个java程序在运行时生成另一个java应用程序吗。

是的,你可以。但这是一个大量的工作,特别是如果应用程序如果是复杂的。

如果您正在生成Java程序,则需要一个Java编译器。因此,如果您坚持使用JRE(在Java8中),则需要在应用程序中包含一个第三方Java编译器。

但是,对于Java9以后,这是没有意义的:

>

  • Oracle不再为Java9+提供JRE发行版,因此您需要让客户机为其JRE使用第三方源。

    1. 我可以使用上述方法完成一个完整的应用程序吗?

    也许是,也许不是。这取决于问题域。它越复杂,需求越多样/一般,它就越难。

    是的。这是个坏主意。这比编写一个按常规方式配置的应用程序要多得多。(注意配置可以包括用Java编写插件、用某种脚本语言编写规则等等。)

    如果您已经有一个常规的应用程序,它具有大多数/所有必需的功能,可以用作生成的生成代码的原型,那么我建议您只生成源代码或字节码。(如果您不能手工编写这样的原型,那么编写一个生成器来创建一个原型是不现实的。)

    即使是可行的,我也会质疑建造发电机是否明智。额外的努力似乎没有什么显著的回报。(例如,对最终用户的好处在哪里?)

    在某些情况下可以使用以下框架:

    >

  • 像Velocity1这样的模板框架可以用来生成Java源代码。

    字节码工程框架可以用来直接生成代码。

  •  类似资料:
    • 问题内容: 我想从Java代码运行另一个应用程序。 进程已启动,但在后台运行。如何使其在前台运行? 问题答案: 您应该告诉cmd.exe您希望它在新窗口中打开:

    • 问题内容: 我有一个Main.java和Test.java类,它们要编译并在Test.java代码中运行Main.java。这是我的代码 我只在Main.java中打印“ ok”,但是此代码不打印任何内容。问题是什么 ? 问题答案: 我修改了代码以包括一些检查: 这是Main.java: 当一切都很好时,它就可以工作: 现在,例如,如果在Main.java中出现一些错误: 它仍然显示“ ok”,因

    • 我一直在尝试为javafx编译和运行这个示例 然后我试着运行这个例子 $java--mode-path"PATH_TO_FX":mods-m hellofx/hellofx。HelloFX 启动层初始化时出错java.nio.file.InvalidPathException:非法字符 所以我认为通往FX的路径是个问题,但事实并非如此。 $java——模块路径src:mods-m hellofx/

    • 问题内容: 我有一个需要开发读取TCP / IP套接字的应用程序的要求。我成功地将程序制作为Java程序且没有GUI,这意味着程序一旦运行,便开始侦听Socket并在Netbeans IDE的帮助下获得响应。现在根据我的要求,我必须在Linux系统启动后立即开始执行该程序。 其实我是Java和Linux平台的新手,所以毫无疑问。 我的没有GUI的套接字程序是否可以按我的要求运行? 我知道如何在Li

    • 问题内容: 我正在尝试学习制作一个带有几个按钮的简单应用程序,每个按钮都打开另一个应用程序,从而消除了对其他应用程序的需求。我只是想不通。另外,我可以在此活动中放置多个按钮来打开另一个应用程序吗?我也找不到那个答案。 非常感谢您的帮助:D 问题答案: 希望此实现能够起作用: 唯一的事情是您必须事先安装该应用程序。

    • 问题内容: 我尝试使用下面的代码来运行我从Apple脚本创建的独立实用程序应用程序,但是出现“无文件或目录不存在”错误。 我在项目,dist,父目录中放置了相同的副本(用于测试),但没有帮助。 因此,我的问题是:我对运行该应用程序的调用是否不好(也许是因为它不是Windows exe)?如何从Java运行Mac App? 谢谢 问题答案: Mac App Bunde不是可执行文件,而是具有特殊结构