编写一个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 ...
随机推荐
- 月球美容计划之最小生成树(MST)
寒假学的两个算法,普里姆,克鲁斯卡尔最终弄明确了.能够发总结了 先说说普里姆,它的本质就是贪心.先从随意一个点開始,找到最短边,然后不断更新更新len数组,然后再选取最短边并标记经过的点,直到全部的点 ...
- 函数中声明变量不用Var的情况
我们都知道函数中声明变量不用Var时这个变量会成为全局变量,但是并不是函数一开始执行就会把它变为全局变量,必须执行到这条语句. 看一段代码 function f(){ alert(a); ...
- LCA转换成RMQ
LCA(Lowest Common Ancestor 最近公共祖先)定义如下:在一棵树中两个节点的LCA为这两个节点所有的公共祖先中深度最大的节点. 比如这棵树 结点5和6的LCA是2,12和7的LC ...
- 转载 +function ($) { "use strict";}(window.jQuery);全面分析
转载 https://www.cnblogs.com/cndotabestdota/p/5664112.html +function ($) { "use strict";}(wi ...
- JEECG平台权限设计
JEECG平台权限设计 链接存放位置:https://github.com/PlayTaoist/jeecg-lession/tree/master/%E6%9D%83%E9%99%90%E7%AE% ...
- leetcode 199. Binary Tree Right Side View 、leetcode 116. Populating Next Right Pointers in Each Node 、117. Populating Next Right Pointers in Each Node II
leetcode 199. Binary Tree Right Side View 这个题实际上就是把每一行最右侧的树打印出来,所以实际上还是一个层次遍历. 依旧利用之前层次遍历的代码,每次大的循环存 ...
- Struts 2.5.20 在Eclipse IDE中的配置和开发实例
零.参考博客1.Struts框架入门教程2.Struts 2.5.10.1配置 3.eclipse中搭建Struts2.5.16 4.Struts2.5+eclipse+tomcat8.5配置 注意: ...
- 六大主流开源SQL引擎
导读 本文涵盖了6个开源领导者:Hive.Impala.Spark SQL.Drill.HAWQ 以及Presto,还加上Calcite.Kylin.Phoenix.Tajo 和Trafodion.以 ...
- 基于TerraExplorer Pro 6.1 实现对Shape中Feature对象拾取查询
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 3.《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——检查文件
上面我们已经学过如何创建及操作文件,现在我们再来学习检查内容.当文件太长以至于屏幕一页显示不完时,这显得尤其重要.特殊情形下,如我们在第2.1章节开始部分中使用cat命令将内容展示到屏幕上,但这对于长 ...