【问题标题】:gwan not re-compiling java filesgwan没有重新编译java文件
【发布时间】:2013-03-06 00:40:29
【问题描述】:

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

一旦我用

运行 gwan

sudo ./gwan -d

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

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

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

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

谢谢 -史蒂夫

【问题讨论】:

标签: java g-wan dynamic-class-loaders


【解决方案1】:

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

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

我们非常感谢 Java 社区的任何帮助(贡献者将在到期时获得信用)。我们仍然缺少这个 Java 功能。

【讨论】:

  • 感谢您的信息。我希望你们能找到一个可以完成它的人。我喜欢简单的解决方案……而不是数百个 MB 来解决一个问题。
  • 更新:我们对 Java 平台维护人员的请求被...驳回为“这是微不足道的”(但他们的一名团队成员后来报告说,告诉这个的人不知道该怎么做,并且中国软件工程师实际上在做核心开发)。一位学术研究人员慷慨地编写并向我们发送了一个解决方法,但这个“微不足道”的 Java 代码非常庞大(比用于连接 G-WAN 和 15 种编程语言的代码大得多——包括 Java)。我们希望看到一个“更轻松”的解决方案,无论它来自哪里(欢迎中国)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-05
  • 2015-02-06
  • 1970-01-01
  • 2011-01-09
  • 2011-11-29
  • 2016-12-05
相关资源
最近更新 更多