java 应用程序在linux 上怎么部署 运行
java 应用程序在linux部署方法:
1,将项目达成war包(用eclipse,项目右键--Export--选择war file)
2,将tomcat(用winSCP当然也可以用secureCRT,用securCRT需要建立sftp(即上传文件的目录),用put tomcat命令)考到ilunx对应的目录下
3,然后将项目的war包放到tomcat的webapps目录下
4,启动tomcat(命令:/startupsh(linux下启动tomcat是sh文件而非bat文件))
遇到问题如下:
运行/startupsh 是报错
-bash: /startupsh: Permission denied
原因:没有运行sh的权限
解决:chmod 777 sh
755 代表用户对该文件拥有读,写,执行的权限,同组其他人员拥有执行和读的权限,没有写的权限,其他用户的权限和同组人员权限一样。
777代表,user,group ,others ,都有读写和可执行权限。
获得权限后再运行/startupsh命令时报错:
This file is needed to run this program
原因:该文件需要一个运行环境(即配置jdk环境变量)
解决:JAVA_HOME=/usr/java/jdk160_25/(当然这个目录根据自己的jdk安装目录)
然后在运行/startupsh 提示:
Using CATALINA_BASE: /usr/local/sarft/apache/apache-tomcat-6029
Using CATALINA_HOME: /usr/local/sarft/apache/apache-tomcat-6029
Using CATALINA_TMPDIR: /usr/local/sarft/apache/apache-tomcat-6029/temp
Using JRE_HOME: /usr/java/jdk160_25/
Using CLASSPATH: /usr/local/sarft/apache/apache-tomcat-6029/bin/bootstrapjar
如果提示以上信息表明 tomcat启动成功,可以正常run了。
你是要单次运行还是不挂断在后台运行?单次直接java -jar xxxjar 就可以了,不挂断的话,可以编写一个shell脚本,startsh 内容如下
#!/bin/sh
nohup java -jar -XX:PermSize=64m -XX:MaxPermSize=128m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:SurvivorRatio=8 xxxjar>/dev/null 2>&1 &
具体的参数你自己把握,然后保存,给这个脚本赋于可执行权限,chmod +x startsh
然后执行这个脚本,sh startsh ,然后查看一下java进程,看这个服务起来没有,jps
Java程序是垮平台的,在windows上也能顺利运行! 目前我所知道的在windows上运行的方法是 javac 再 java 或者在IDE里执行!
跨平台性说得就是可移植性好,什么叫可移植性好呢?就是你在你的机器上编写的代码或者代码编译的class文件可以拿到别的机器上去运行,而这个别的机器可以是windows或者是linux或者是别的什么系统,但是有个问题,用C写得程序也可以拿到别的机器上运行,但这是有条件的,就是必须都是windows系统,因为C调运了很多操作系统内的函数什么的,但JAVA没有,纯JAVA的语言所有的功能都是用JAVA写成的,最典型的就是窗体,JAVA是画的模拟出来的,但是像VB,可能就是调用的操作系统的窗体,所以说JAVA的可移植性较好
也就是它的跨平台性比较好
现在我们再说一下JAVA的运行方式,你写的代码是保存为java文件的,JAVA编译器把JAVA文件编译为字节码文件(一种二进制文件),然后JAVA解释器再解释这种二进制文件然后执行
也就是说,写代码一般用JAVA解释器和编译器,但是运行由JAVA解释器就可以了
可是如果我要把我的程序给别人用,难道我要把我的CLASS文件复制给别人 再叫别人安装JDK或者JRE在CMD下用命令行来执行吗???
如果你把你的class文件复制给别人,那么它的机器必须的安装JAVA解释器才可以执行,这是必须的~~没有解决的方式
但是你还要明白一个问题~~JAVA主要是运行在网络环境下的,这也是它的优势和发展的动力,做j2ee项目时,他只要做网站的后台,而客户只要有浏览器就可以获得由JAVA在后台得到的数据,这时并不需要客户安装JAVA解释器,因为JAVA文件是在后台服务器上运行的
一般来说很少有用JAVA做桌面应用的,他就不适合来做,而且效果还没有vc++的好,所以并不需要客户大规模的安装JAVA运行环境
0条评论