创建我的静态程序分析器作为Web应用程序的演示? [不向客户发送.jar文件]

时间:2012-11-18 05:01:32

标签: java web-applications static-analysis

我一直在开发一个静态程序分析器(一种试图在编译时检测程序错误的工具),它几乎已经完成了。我想将一个演示版本放到网上,以便可能对该工具感兴趣的少数人可以测试其功能。

上下文: 1.如有必要,我有一台个人电脑用作服务器。否则,我不确定技术上是否可以将演示放到我所在机构的计算机上,因为他们的计算机没有用于启动演示所需的库。

  1. 我正在使用Eclipse和Maven来开发这个分析器。分析器是用Java编写的。

  2. 分析仪有点耗时。例如,需要5秒钟和500 Mo JVM虚拟内存来完成一项有趣的工作。所以我需要限制访问者的数量。

  3. 我不打算将.jar文件发送给客户,因为我不知道他们会是谁。

  4. 我对网络应用程序一无所知。

  5. 在这种情况下,您认为在网络上展示我的分析仪的最简单方法是什么?

    这可能与大多数关于如何将桌面程序转换为Java Web应用程序的问题有所不同,例如this

    谢谢。

    [编辑]如果要考虑上述约束3,最佳解决方案是什么?

1 个答案:

答案 0 :(得分:3)

您可能正在寻找Java Web Start,这是受欢迎的分析器FindBugs使用的部署选项。这个example说明了几个关键概念,并利用最低成本托管。

附录:@Capn Sparrow有助于评论Java Web Start将程序JAR的副本从服务器下载到客户端,违反了问题中的要求三。这需要进行多项风险/收益权衡:

  • Pro:可以轻松更新服务器以确保客户端始终具有最新版本。 JAR缓存在客户端上,最大限度地减少了更新的延迟。

  • Con:缓存的JAR可能会被反编译或篡改。用户必须接受所选的<security>设置或拒绝该应用程序。使用jarsigner可以减轻一些风险。