play框架的死穴!!??
刚刚提起兴趣看看play框架,写了个例子,看了一篇老文章http://www.oschina.net/question/84960_10522 说是play编译的war包里面全部是java源码,试了一下果然是如此,我用的是最新的play! 1.2.2
非常的无语,如果是java源码不能编译的话,我还不如用php了。请教各位大大,是我技术不到位,还是play本身就是如此?play框架的死穴!!??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(13)
PHP也有类似Play or Nodejs的方案,在命令行下运行,使用libevent + pthread +pcntl 不依赖fastcgi 和mod_php (不需要web服务器) 语言无界限,俗话说: 小鸡不尿尿,各有各的道。
这样做保密性是做到了,可是打包成war文件还是需要Tomcat等Servlet Container呀,这不是变复杂了么?
PlayFramework本来就是可以抛弃Tomcat等Http Server的呀
我想问问PHPer怎么看待他们的部署情况的?
东明兄,我爱死你了你的方法很OK,我已经成功发布war包并运行。
现在公布完整的命令行:
play war YouAppProjectName --exclude app/controller:app/models -o d:/1.war --zip
这样控制器和models全部会被编译成.class
play war --exclude app/controller:app/models -o /home/zdmcjm/tmp/gift
--exclude把不需要包含的目录写上,这里把源码目录加上,类推,多个目录用:隔开。
打成war包,会将源文件编译到precompiled目录里。当然也可以手动删除源码包。
编译成字节码文件 pyc 或者再进一步 pyo 咯
1, 可以反编译。 2,无法编译一个工程,比如django,会提示找不到setting.py 和模块等。
pyc字节码也不行,轻易反编译。除了虚拟机的都差不多
python 从来是源码。。。一直寻找加密方法中。。。
对,就是在启动的时候把你写的那堆源文件编译好,再做点字节码的修改,放到一个缓存目录下面,以后就直接使用这些编译好的字节码,而不会再尝试去编译源代码了,这些都是服务器启动的时候就干完的事情,不影响运行期的效率。
当然,开发的时候可以关闭预编译模式,这样你修改的java源文件可以立即产生作用而不用重启服务器,非常方便
是否可以把编译好的字节码打包发布,而不发布源代码,我就不大知道了。即使官方没提供这么个功能,我觉得自己也可以稍微hack一下play框架,解决这个问题。play的源代码写的还是容易看懂的
可以开启预编译,生产环境也是默认预编译,所以只是第一次启动应用的时候要慢些
play效率还是不错的,它没有标准的servlet或者jee那么复杂。后端现在采用netty做引擎,处理静态文件的效率也不错了
可以开启预编译,生产环境也是默认预编译,所以只是第一次启动应用的时候要慢些
play效率还是不错的,它没有标准的servlet或者jee那么复杂。后端现在采用netty做引擎,处理静态文件的效率也不错了
可以开启预编译,生产环境也是默认预编译,所以只是第一次启动应用的时候要慢些
play效率还是不错的,它没有标准的servlet或者jee那么复杂。后端现在采用netty做引擎,处理静态文件的效率也不错了