2

我针对运行在 Ubuntu 12.04 服务器上的 gwan 服务器附带的标准 hello.java 和 hello.c 进行了测试。G-WAN 4.3.1 64 位(2013 年 3 月 1 日 17:36:39)

一旦我运行 gwan

须藤 ./gwan -d

我还注意到在没有 daemon 选项的情况下运行相同的行为。

然后浏览到 192.168.0.2:8080/?hello.c 我得到“Hello, ANSI C!”的预期输出。我更改 hello.c 中的文本并刷新浏览器并获得预期的更改。

如果我对 hello.java 文件做同样的事情,在我重新启动 gwan 之前不会出现对文本的更改。

有谁知道我是否遗漏了一些在文件更改时会导致重新编译的简单设置?我正在使用 OpenJdk 7。(刚刚将其安装在全新安装的 ubuntu 12.04 上)我什至尝试将其称为 192.168.0.2:8080/?hello.java&n=1 以消除缓存的可能性,然后是另一个浏览器,然后是另一台机器不同的网络。同样的事情,在我重新启动服务器之前似乎不会发生更改。(对于 java,它适用于 .c 文件)

谢谢-史蒂夫

4

1 回答 1

2

你说的对。这是一个长期未解决的问题,因为我们没有找到如何编写和使用“JNI 自定义类加载器”,即动态卸载和重新加载 Java 类的方法。

当我们寻求帮助时,一些 Java 用户将我们重定向到支持此功能的巨大(数百 MB)Java 包,但由于这只是几行 JNI ANSI C 代码的问题,我们希望在 C 中实现它G-WAN 程序本身(我们只是缺乏执行它的 JVM 知识)。

来自 Java 社区的任何帮助将不胜感激(贡献者将在到期时获得信用)。我们仍然缺少这个 Java 特性。

于 2013-03-06T07:46:54.403 回答