编写一个shell脚本来编译并运行java代码
安装Java
下载java源码包
安装的是JDK8,下载地址如下:下载链接
注意,不要在服务器中使用wget来下载jdk,因为oracle会认为你是爬虫,下载的文件不是jdk,而是一个html文件。
上传服务器并解压
使用传输工具将jdk的源码传到服务器上,然后解压后,将文件夹拷贝到/usr/local/下即可。
[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# ls
jdk-8u201-linux-x64.tar.gz
[root@localhost src]# tar zxf jdk-8u201-linux-x64.tar.gz
[root@localhost src]# ls
jdk1.8.0_201 jdk-8u201-linux-x64.tar.gz
[root@localhost src]# mv jdk1.8.0_201 /usr/local/java
[root@localhost src]# /usr/local/java/bin/java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)
添加Path和环境变量
将java下面的bin目录中的各种命令加入到path中,可以修改/etc/profile文件,可以让服务器上的所有用户使用java环境:
# 编辑/etc/profile文件,在文件末尾增加以下3行代码 # 配置JAVA_HOME变量
export JAVA_HOME=/usr/local/java # 配置JRE_HOME变量
export JRE_HOME=$JAVA_HOME/jre # 配置环境PATH
export PATH=$JAVA_HOME/bin:$PATH # 配置CLASSPATH变量,如果是JDK7及之后版本可以不用设置
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
使配合文件生效
使用source命令来时配置生效。
source /etc/profile
进行测试
# 创建一个测试文件
[root@localhost ~]# vi Test.java
#文件内容为
public class Test {
public static void main(String[] args) {
System.out.println("hello world");
}
} # 进行编译
[root@localhost ~]# javac Test.java # 运行
[root@localhost ~]# java Test
hello world
安装Tomcat
下载Tomcat的源码包,解压到/usr/local/下,目录名为tomcat。
tomcat的源码包列表:https://archive.apache.org/dist/tomcat/tomcat-8/
[root@localhost ~]# cd /usr/local/src
[root@localhost src]# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.53/bin/apache-tomcat-8.0.53.tar.gz
[root@localhost src]# ls
apache-tomcat-8.0.53.tar.gz jdk-8u201-linux-x64.tar.gz
[root@localhost src]# tar zxf apache-tomcat-8.0.53.tar.gz
[root@localhost src]# mv apache-tomcat-8.0.53 /usr/local/tomcat
注意,在下载的时候,有src和bin包两种,请选择bin包格式,因为src包中会缺少一些东西。
配置环境变量
# 编辑/etc/profile文件夹,在末尾增加两行命令
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat # 保存退出后,使用source 命令让配置文件生效
source /etc/profile
创建cataline.out文件
该文件用于存储:服务器启动和运行过程中的控制台输出。
[root@localhost ~]# cd /usr/local/tomcat
[root@localhost tomcat]# touch logs/catalina.out
修改防火墙配置
防火墙默认只开启了某些端口,如果Tomcat要使用的端口没有打开的话,就不能从别的地方访问本机服务器,假设Tomcat的服务器使用8089端口,可以这样修改:
# 编辑/etc/sysconfig/iptables这个文件,添加
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
重启防火墙,让配置生效
[root@localhost ~]# service iptables restart
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
启动服务器
[root@localhost ~]# /usr/local/tomcat/bin/startup.sh
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr/local/java
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
查看Tomcat的状态
有多种方式:
1、Tomcat默认使用8080端口,可以通过lsof -i:8080来查看8080端口是否被使用即可。
2、查看进程: ps aux | grep tomcat
3、查看/usr/local/tomcat/logs/catalina.out日志输出文件即可。
4、访问localhost:8080,看是否会有下面的页面:
因为开启了防火墙的8080端口,所以可以让其他主机访问本机服务器。
编写一个shell脚本来编译并运行java代码的更多相关文章
- [JAVA] 一个可以编辑、编译、运行Java简单文件的记事本java实现
本来是Java课做一个仿windows记事本的实验,后来突然脑子一热,结果就给它加了一个编译运行Java文件的功能. 本工程总共大约3000行代码,基本上把所学的java界面.文件.控件的功能都包含在 ...
- 1.编写一个shell脚本
一.shell和shell脚本 在linux系统下,以 #/bin/bash开头的文本会被shell解释器进行解释. shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操 ...
- AJPFX编写cmd界面下一键编译、执行java代码的bat脚本
此脚本适合刚接触java的同学,在cmd界面下用jc取代 复杂的 javac *.java + java main使用说明:把脚本内容复制到txt文本中,修改后缀名为.bat,运行一次即可完成配置, ...
- 在linux写一个shell脚本用maven git自动更新代码并且打包部署
服务器上必须安装了git maven jdk 并且配置好环境变量 实际服务器中可能运行着多个Java进程,所以重新部署的时候需要先停止原来的java进程,写一个按照名称杀死进程的脚本 kill.sh ...
- 编写第一个 Shell 脚本
什么是 Shell 脚本? 一个 shell 脚本就是一个包含一系列命令的文件.shell 读取这个文件,然后执行 文件中的所有命令,就好像这些命令已经直接被输入到了命令行中一样. 怎样编写一个 Sh ...
- 编写第一个Shell脚本【TLCL】
怎样编写一个 Shell 脚本 编写一个脚本 使脚本文件可执行 把脚本放到Shell能够找到的地方 脚本文件格式 #!/bin/bash # This is our first script. ech ...
- shell脚本就是由Shell命令组成的执行文件,将一些命令整合到一个文件中,进行处理业务逻辑,脚本不用编译即可运行。它通过解释器解释运行,所以速度相对来说比较慢。
shell脚本?在说什么是shell脚本之前,先说说什么是shell. shell是外壳的意思,就是操作系统的外壳.我们可以通过shell命令来操作和控制操作系统,比如Linux中的Shell命令就包 ...
- 工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本
一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话“Hello ...
- shell编写一个判断脚本
shell编写一个判断脚本 4.1问题 本例要求在虚拟机server0上创建/roo ...
随机推荐
- 在Oracle中使用Guid
sys_guid() - 唯一索引 在Oracle中可以用SYS_GUID()来生成一个guid,相当于msSql中的newid(). 在Oracle9i和Oracle 10g 里SYS_GUID ...
- 微信小程序のCss(一)
一.margin:外边距:设置对象四边的外延边距. margin: 20rpx 10rpx 25rpx 10rpx :如果提供全部四个参数值,将按上.右.下.左的顺序作用于四边. margin:20r ...
- windows下基于IIS配置ssl证书
我这边用的是阿里云的免费证书,下面展示一下操作步骤. 首先登陆阿里云,搜索ssl证书进入ssl证书控制台.点击购买 然后选择免费版,配置如下: 选择立即购买,购买成功后回到ssl控制台即可查看证书.然 ...
- Python基础视频
链接:https://pan.baidu.com/s/1oPiS32sWVysuVAivtdFKnQ 密码私聊我
- rac添加新节点的步骤与方法2
上一篇文章,把节点删除了.这次新增加一个节点 .新增加的节点是host03.如下: #Public IP192.168.16.45 racdb1192.168.16.46 racdb2192.168. ...
- python编程入门之简介
引用百度百科: Python是一种面向对象.直译式计算机程序设计语言,由荷兰人Guido van Rossum发明于1989年,1991年发行第一个公开发行版.它常被昵称为胶水语言,它能够很轻松的把用 ...
- 加拿大抢先低调上架技嘉RTX 2060 显卡
RTX 2060显卡这个传说越来越接近落地成真了. 据外媒爆料,加拿大经销商已经低调上架来自技嘉的RTX 2060显卡,价格为529加元(约合394美元,2705元人民币). 考虑到RTX 2070的 ...
- EventBus使用详解
EventBus是针一款对Android的发布/订阅事件总线.它可以让我们很轻松的实现在Android各个组件之间传递消息,并且代码的可读性更好,耦合度更低.长话短说直接介绍使用. 如何使用 (以下介 ...
- <转>cookie和session的区别
看到一篇讲cookie和session的文章,觉得蛮不错的,转载分享下... 原地址:http://www.lai18.com/content/407204.html?from=cancel cook ...
- 查看Orcale数据里的表是否有变化
由于我们公司一个数据库两个应用在使用,导致一个应用修改了数据库,另一个应用用的缓存而不知道有更新还是原来的结果.原来的处理方式是采用session缓存的方式,用户登出了就清空缓存,这样只需要重新登录一 ...