termux安装java,android下的termux模拟器安装openJDK和运行springboot项目
1、前言
2020年9月份打造好了termux,但是苦于jdk没法安装,只能简单的用ecj(eclipse的java,类似jdk的javac),但是springboot或者tomcat的项目怎么跑啊?
今天为了做培训演示,找到了termux下的openJDK资源,记录下安装的经过。termux的安装和工具准备参考前一篇android下安装termux模拟器-超便携linux
2、git下载openJDK的安装脚本
ssh登录termux,接着下载termux安装openJDK的脚本
123
git clone https://github.com/MasterDevX/Termux-Java.git
cd Termux-Java
chmod 700 installjava uninstall_java.sh
3、下载openJDK的包(可选)
因为步骤2中installjava会下载一个7、80M的openJDK的tar.gz包,为了减少失败,可以用wget先提前下载对应版本的包
1234
dpkg --print-architecture
aarch64
wget https://github.com/Hax4us/java/releases/download/v8/jdk8_aarch64.tar.gz
调整下步骤2下载的installjava脚本,增加已下载tar.gz的判断
把
1
wget https://github.com/Hax4us/java/releases/download/${tag}/jdk8_${archname}.tar.gz -q
修改成
12345
if [ -f jdk8_${archname}.tar.gz ]; then
ee "\e[32m[*] \e[34mOpen JDK-8 is exist."
else
wget https://github.com/Hax4us/java/releases/download/${tag}/jdk8_${archname}.tar.gz -q
fi
4、安装
看看执行过程有没出错,正常的话应该安装完会出现success提示,如下图
123
bash installjava
Java was successfully installed!
5、测试
也可以参考下图
1234567
java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
echo $JAVA_HOME
/data/data/com.termux/files/usr/share/jdk8
6、上传springboot项目
先添加springboot启动脚本
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
#!/bin/bashSERVICE_HOME="$HOME/Java"
SERVICE_NAME="Z_testCode-0.0.1-SNAPSHOT"
SERVICE_JAR="Z_testCode-0.0.1-SNAPSHOT"
XMS="-Xms256M"
XMX="-Xmx512M"
tmpdir="$HOME/Java/tmp"
cd $SERVICE_HOME
PROG=$SERVICE_JAR
PIDFILE=$SERVICE_HOME/$SERVICE_JAR.pid
JARFILE=$SERVICE_HOME/$SERVICE_JAR.jar
status() {
if [ -f $PIDFILE ]; then
PID=$(cat $PIDFILE)
if [ ! -x /proc/${PID} ]; then
return 1
else
return 0
fi
else
return 1
fi
}
case "$1" in
start)
status
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo "-----$PIDFILEexists, process is already running or crashed"
exit 1
fi
##检测 java环境
if [ ! -n $JAVA_HOME ]; then
echo "-----Please check JAVA_HOME!"
echo "-----Exist"
exist 1
else
echo "-----Jave home:$JAVA_HOME"
echo "-----Starting$PROG..."
nohup java -server $XMS $XMX -Djava.io.tmpdir="$tmpdir" -jar $JARFILE > $SERVICE_NAME.log 2>&1 &
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo "-----$PROGis started"
echo $! > $PIDFILE
exit 0
else
echo "-----Stopping$PROG"
rm -f $PIDFILE
exit 1
fi
fi
;;
stop)
echo "-----Shutting down$PROG"
ps -ef |grep $SERVICE_NAME|grep -v grep |awk '{print $2}'|xargs kill -9
#kill -9 `cat $PIDFILE`
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
rm -f $PIDFILE
else
echo "-----Failed to stopping$PROG"
fi
;;
status)
status
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
PID=$(cat $PIDFILE)
echo "-----$PROGis running ($PID)"
else
echo "-----$PROGis not running"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage:$0{start|stop|restart|status}"
;;
esac
7、启动springboot项目
12
chmod 700 startJar.sh
./startJar.sh start
注意步骤6脚本中有定义tmpdir,因为springboot启动的时候,会往linux的/tmp目录创建临时的缓存目录和文件,在termux下会报目录不存在,需要在classpath下自定义
12
tmpdir="$HOME/Java/tmp"
nohup java -server $XMS $XMX -Djava.io.tmpdir="$tmpdir" -jar $JARFILE > $SERVICE_NAME.log 2>&1 &
核对springboot的启动日志,是否正常
8、测试访问
测试springboot项目提前写好的接口
1234567891011
curl http://127.0.0.1:8090/test/demo
[{"id":1,"account":"test1","password":"password1","name":"张三1","sex":0,"company":"testCompany1"},
{"id":2,"account":"test2","password":"password2","name":"张三2","sex":1,"company":"testCompany2"},
{"id":3,"account":"test3","password":"password3","name":"张三3","sex":0,"company":"testCompany3"},
{"id":4,"account":"test4","password":"password4","name":"张三4","sex":1,"company":"testCompany4"},
{"id":5,"account":"test5","password":"password5","name":"张三5","sex":0,"company":"testCompany5"},
{"id":6,"account":"test6","password":"password6","name":"张三6","sex":1,"company":"testCompany6"},
{"id":7,"account":"test7","password":"password7","name":"张三7","sex":0,"company":"testCompany7"},
{"id":8,"account":"test8","password":"password8","name":"张三8","sex":1,"company":"testCompany8"},
{"id":9,"account":"test9","password":"password9","name":"张三9","sex":0,"company":"testCompany9"},
{"id":10,"account":"test10","password":"password10","name":"张三10","sex":1,"company":"testCompany10"}]
大功告成,现在springboot项目也起来了,访问了termux的mariadb,这些需要在写测试springboot项目提前配置好,这里没做介绍。
termux安装参考前一篇android下安装termux模拟器-超便携linux
termux安装java,android下的termux模拟器安装openJDK和运行springboot项目相关推荐
- 手机APP制作流程一、Java JDK、Android studio、夜神模拟器安装
下载JDK 首先下载Java JDK,目前JDK版本有JavaSE8.JavaSE11.JavaSE16,最新的版本功能肯定更强大.也加入了一些新特性,但是对于像我一样新入门的菜鸟来说,8已经足够了. ...
- Eclipse搭建android环境及Genymotion模拟器安装问题解决方法
最近实验室新买了台式电脑,又要重新搭建android环境了,话说自从google被封了之后eclipse搭建android真是不容易了,虽然现在官方推荐使用studio了,但是还是不太习惯studio ...
- 浅谈Java/Android下的注解
什么是注解 java.lang.annotation,接口 Annotation,在JDK5.0及以后版本引入. 注解是代码里的特殊标记,这些标记可以在编译.类加载.运行时被读取,并执行相应的处理.通 ...
- centos java 安装路径_Centos7下查询jdk默认安装路径
今天学习了docker,希望能搭建个springboot运行环境,其中就涉及JDK8.Maven.Mysql.Docker.docker-compose.tomcat.nginx基础环境的安装,下面是 ...
- 安装java的rpm_Centos7使用rpm命令安装java
Centos7使用rpm命令安装java l2qq · 2019-10-23 10:16 字数 2148 评论 0 收藏 0 点赞 0 Centos7使用rpm命令安装java 第一步:下载jdk 官 ...
- debian安装java jdk_Linux(Centos、Debian)之安装Java JDK及注意事项(转)
a.因为Java JDK区分32位和64位系统,所以在安装之前必须先要判断以下我们的Centos.Debian系统为多少位系统,命令如下: uname -a 解释:如果有x86_64就是64位的,没有 ...
- mysql 5.5 安装 linux,linux下mysql5.5的安装
#rpm –qa|grep –i mysql查看已安装的mysql版本 如果有已存在的mysql版本则删除 安装服务端和客户端,去Oracle官网下载: # rpm -ivh MySQL-serve ...
- Linux redis安装教程,Linux 下redis5.0.0安装教程详解
Linux redis5.0.0安装,教程如下所示: 1.从官网下载,然后传到服务器,tar -zxvf解压 2.进入redis ? 3.安装:make, (1)若提示:: gcc: Command ...
- centos 7 如何验证oracle安装成功_linux下Oracle数据的安装详解
第二章:CentOS下Oracle用户环境配置和Oracle11g的安装: 1.下载Oracle安装包: linux.x64_11gR2_database_1of2.zip 和 linux.x64_1 ...
- linux系统qt中make安装,Linux系统下Qt的基本安装和配置
Qt Creator支持中文,启动速度比Eclipse.Netbeans更快,界面也更美观,跟输入法Fcitx协作良好(光标跟随). 你既可以把Qt Creator当代码编辑器作为vim辅助,好处在于 ...
最新文章
- django文件上传
- json如何把键名作为变量?
- PMcaff会员圣诞礼物大放送!
- VTK:Utilities之KnownLengthArray
- CSS--布局模型,颜色值,长度值
- 一款开源免费且快速,高效和安全的跨平台备份程序:Restic使用教程
- 小程序入门学习03--navigator组件
- Chatbot ⾖瓣电影爬⾍简析
- 欧洲2015年新设太阳能约8GW 为4年来首增
- 空军预警学院计算机与网络,空军预警学院学报
- 第二阶段团队站立会议02
- 服务器器ip的A段B段C段是什么意思有什么意义
- 小川OpenCV100例 之 识别定位二维码
- 计算机共享找不到网络连接失败,局域网电脑无法访问共享文件网络共享失败如何解决...
- LayoutManager实现翻页动画
- SD SDHC SDXC
- arduino leonardo 入门
- ICRA2022 SLAM相关论文整理
- 计算机网络实训报告动态路由,实验报告OSPF动态路由的配置
- 力扣(707.面试题02.07)补9.16
热门文章
- 物联网人工智能软件市场现状研究分析报告 -
- VoLTE信令泛读补充业务3:呼叫保持业务之保持流程
- 参数曲面matlab,MATLAB空间曲面的实现方法
- SLAM之PTAM学习笔记
- 自制hdmi线一头改vga图_VGA连接线接口定义及引线焊接教程,VGA线不够长时可用网线代替?...
- 北斗卫星导航系统的研究及应用
- 电子设计教程21:晶体管差分放大电路
- 3dmax java,基于Java 3D与3DS MAX的虚拟校园设计
- PcShare,PcClient 后门手工解决方案
- photoshop cs3 调色教程 让夏天成秋天