在服务器上执行java代码

2023-12-11

我正在开发一个 Web 应用程序,一种用于编写和编译代码的在线 IDE。编程语言和编译器都是在大学内部开发的。

我的问题是:是否可以在服务器上执行编译器(编译器是用java编写的),以便它编译代码并返回要下载的编译文件?

更简单的是,用户使用在线代码编辑器,然后单击编译按钮,服务器获取编写的代码,执行服务器上的编译器(编译器是用java编写的),然后返回编译后的文件。

那么我如何在服务器上执行编译器(用java编写)呢?

先感谢您 !


您没有说明服务器的类型,或者使用什么语言来开发 Web 应用程序(PHP、node.js、python、perl 等),但通常 Java 发行版都有一个可以运行 Java 代码的命令行二进制文件。

如果编译器文件位于 jar 文件中,则 Web 应用程序执行的命令可能很简单,如下所示:

java -jar compiler.jar inputcodefile outputexecutablefile

当然,您可以替换文件名并添加编译器所需的正确选项(如果有)。

EDIT:我看到您用 node.js 标记了您的问题,所以我假设这是您在服务器端使用的语言。

Node.js 有“子进程”,允许您执行外部命令。 因此,使用我上面给出的示例命令,您可以执行以下操作:

var exec = require('child_process').exec;
var compileit = 'java -jar compiler.jar inputcodefile outputexecutablefile';

exec(compileit, function(error, stdout, stderr) {
});

使用 PHP 就更容易了:

exec('java -jar compiler.jar inputcodefile outputexecutablefile');

See http://php.net/manual/en/function.exec.php有关 PHP 中 exec() 函数的更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在服务器上执行java代码 的相关文章

随机推荐

  • 如何存储自定义对象数组(目标)

    如何存储在 NSUserDefaults 中创建的 Goal 类型的对象数组 快速 这是代码 func saveGoalList newGoalList Goal let updatedGoalList newGoalList NSUser
  • 在 Xcode 中打开非 Xcode 项目

    现在我正在开发一个使用 Markdown 的静态网站 我不想在 SublimeText 中编辑文件 而是想在 Xcode 中编辑它们 我可以在 Xcode 中打开各个文件 但我想打开整个静态站点目录并受益于使用文件导航器窗格和其他 Xcod
  • PHP:通过 ID 将 html 内容附加(添加)到现有元素

    我需要使用 PHP 按 ID 搜索元素 然后向其附加 html 内容 这看起来很简单 但我是 php 新手 找不到合适的函数来执行此操作 html file get contents http example com doc new DOM
  • Matlab中不同大小的矩阵数组

    是否可以在 Matlab 中创建具有不同大小的矩阵数组 例如 Array Mat 1 zeros 3 Array Mat 2 zeros 4 这会产生错误 那么我怎样才能制作矩阵数组呢 您可以使用细胞 gt gt a 1 1 2 3 4 a
  • Firebase数据库持久存储[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 只是想知道是否Firebase 持久性存储当它缓存到设备上的磁盘时会被加密 我们希望在特定路径上利用 Firebase 同步来向用户推送更快的更新 当您执行以下操作时 Firebase
  • Angular2 *ngFor:“无法读取未定义的属性‘0’”

    我尝试从 JSON 文件获取数据来构建表单 这是我的模板的一部分 div class form group div
  • std::vector 可以利用小缓冲区优化吗?

    今天我和同事想知道是否可以实现 std vector 来利用小缓冲区优化 通过查看 C 11 草案 我在 23 3 1p8 读到 对于除数组之外的标准容器类型的容器 a 和 b 表达式 a swap b 应交换 a 和 b 的值 而不对各个
  • 从 Rust 中的 RefCell>> 获取引用

    我在从 RefCell gt 获取引用时遇到问题 有什么建议吗 struct Node
  • 为什么 var foo = null 编译

    我从 Kotlin 开始并试图理解一些东西 var foo String null未按预期编译 var foo String null应该是正确的语法并按预期进行编译 那么为什么var foo null编译 的类型foo在这种情况下将被推断
  • C++ 中空结构的用法

    在我正在阅读的一些代码中 我发现空结构的用法如下 struct input iterator tag struct bidirectional iterator tag struct random access iterator tag 所
  • 使用 AHK 关闭 Visual Studio 中的弹出对话框

    我重新映射了几个键 效果很好 然而 我在尝试摆脱视觉工作室中的弹出对话框时遇到了困难 这是我尝试过的 WinWaitActive Microsoft Visual Studio If WinActive Microsoft Visual S
  • 具有模板化构造函数以及复制和移动构造函数的类

    这个问题是这个问题的后续问题 模板类的模板构造函数的显式模板专业化另一个问题中给出的答案当然是正确的 但事实证明我并没有完全问我想问的问题 所以这是一个新问题 考虑以下代码 template
  • BufferedReader 相对于 Scanner 有什么好处

    这是关于图中深度优先搜索的代码 谁知道为什么在这段代码中使用 bufferedReader 类 为什么不使用 nextInt 函数来代替 它的特权是什么 是为了加快处理速度吗 谢谢 import java io BufferedReader
  • 为什么将二级子类化 Button 控件添加到 Grid 会产生 E_INVALIDARG?

    我在处理 C CX 中的 Windows UI Xaml Button 类的子类时遇到了这个问题 我想知道发生了什么 如果我将一个控件实例添加到网格中 一切都会按预期工作 如果我对控件进行子类化并添加一个实例subclass 一切都按预期进
  • 使用 sapply 进行中值插补

    我想替换数据框列中的缺失值 我写了下面的代码 MedianImpute lt function data data for i in 1 ncol data if class data i in c numeric integer if s
  • CGRectIntersectsRect [重复]

    这个问题在这里已经有答案了 可能的重复 CGRectIntersects矩形问题 我正在制作一个带有迷宫的应用程序 我在界面生成器中的迷宫内放置了一个球 我为其放置了一个出口 我有一个 TouchMoved void touchesMove
  • Dart 中的日期倒计时

    我正在尝试为我的特定日期创建一个倒计时 并显示在那之前还剩多少小时 分钟和秒 例如我想将计数器日期设置为 2018 年 10 月 25 日星期四上午 7 14 05 我想向用户显示 剩余时间 hh mm ss 直到 10 月 25 日 我试
  • 如何在Java中将itext pdf文件的段落设置为带背景色的矩形

    我正在使用 itext 库设计一个 pdf 报告 我已经在其中实现了一个段落 现在根据我的要求 我必须将此段落设置在具有背景颜色的矩形框中 但我无法做到这一点 这是我的 java 中的 Itext 代码 Font f new Font Fo
  • PHP 代码未在浏览器中呈现[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我有一个文件 manage php 其中包含 php
  • 在服务器上执行java代码

    我正在开发一个 Web 应用程序 一种用于编写和编译代码的在线 IDE 编程语言和编译器都是在大学内部开发的 我的问题是 是否可以在服务器上执行编译器 编译器是用java编写的 以便它编译代码并返回要下载的编译文件 更简单的是 用户使用在线