GCJ(GNU Compiler for Java)是发布Web应用程序的可行工具吗?
使用 GCJ 发布服务器端应用程序真的可行吗?网络应用?
我的老板确信,将我们(我的)web应用程序编译成二进制可执行文件是一个绝妙的主意。(话又说回来,他喜欢漂亮、简单、有闪烁灯光的小东西,他能听懂。他本能地认为这没有问题,而我只看到无穷无尽的问题和退化。一旦我开始和他谈论我们平台的复杂性,以及更深入的字节码,JVM,库,操作系统之间的差异,处理器架构等的细节......井。。。他的眼睛瞪得瞪大,他微笑着,他已经明确表示,他认为我是幼稚的抵抗。
为什么他想要一个魔法可执行文件?他看到了几个“好处”:
- 如果它是二进制可执行文件,则很难进行逆向工程并规避任何许可。管理层一直担心这种情况正在发生,即使我们向通常不用服务器软件作弊的大型企业销售产品。
- 有一种愿景是下载这个神奇的可执行文件,运行它,一切正常。(不再派我出去做客户安装,这并不常见。
所以,我已经完成了强制性的20分钟的谷歌搜索,现在我在这里。
关于我的应用程序的一些背景知识:
它由什么制成:
- Java 6 (Sun's JVM)
- AspectJ 1.6
- 雄猫 6
- 休眠 3
- 春季 2
- 另外二十多个支持jar文件
它的作用
- 流媒体内容管理系统
- 性能敏感
- 部署在Linux,Solaris,Windows上(并在Mac上开发)
正如你可能收集到的,我对这种“将Java编译为本机代码”的事情持高度怀疑态度。这听起来像是Mono(Linux上的VB)在2000年的位置。但我是不是太悲观了?可行吗?我应该花时间(如果不是几周甚至几周)来尝试一下吗?
还有一个类似的线程(Java编译器选项来生成.exe文件),但它有点太简单了,链接过时了,并且不是真正面向服务器端的问题。
亲爱的SOpedians,您的知情意见将受到高度珍惜!哎呀!