当前位置: 首页>編程日記>正文

termux安装java,android下的termux模拟器安装openJDK和运行springboot项目

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!

055c19ac1ec3625c89d7036a2422af2a.png

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

8df5483d568b85c11627ff5e9cf17fc2.png

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的启动日志,是否正常

c11d8e123f22c26e9d2f7dc9e469a79b.png

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"}]

c914892bc7dd1ecdebcdefa32faababd.png

大功告成,现在springboot项目也起来了,访问了termux的mariadb,这些需要在写测试springboot项目提前配置好,这里没做介绍。

termux安装参考前一篇android下安装termux模拟器-超便携linux


https://www.fengoutiyan.com/post/13724.html

相关文章:

  • 鏡像模式如何設置在哪,圖片鏡像操作
  • 什么軟件可以把圖片鏡像翻轉,C#圖片處理 解決左右鏡像相反(旋轉圖片)
  • 手機照片鏡像翻轉,C#圖像鏡像
  • 視頻鏡像翻轉軟件,python圖片鏡像翻轉_python中鏡像實現方法
  • 什么軟件可以把圖片鏡像翻轉,利用PS實現圖片的鏡像處理
  • 照片鏡像翻轉app,java實現圖片鏡像翻轉
  • 什么軟件可以把圖片鏡像翻轉,python圖片鏡像翻轉_python圖像處理之鏡像實現方法
  • matlab下載,matlab如何鏡像處理圖片,matlab實現圖像鏡像
  • 圖片鏡像翻轉,MATLAB:鏡像圖片
  • 鏡像翻轉圖片的軟件,圖像處理:實現圖片鏡像(基于python)
  • canvas可畫,JavaScript - canvas - 鏡像圖片
  • 圖片鏡像翻轉,UGUI優化:使用鏡像圖片
  • Codeforces,CodeForces 1253C
  • MySQL下載安裝,Mysql ERROR: 1253 解決方法
  • 勝利大逃亡英雄逃亡方案,HDU - 1253 勝利大逃亡 BFS
  • 大一c語言期末考試試題及答案匯總,電大計算機C語言1253,1253《C語言程序設計》電大期末精彩試題及其問題詳解
  • lu求解線性方程組,P1253 [yLOI2018] 扶蘇的問題 (線段樹)
  • c語言程序設計基礎題庫,1253號C語言程序設計試題,2016年1月試卷號1253C語言程序設計A.pdf
  • 信奧賽一本通官網,【信奧賽一本通】1253:抓住那頭牛(詳細代碼)
  • c語言程序設計1253,1253c語言程序設計a(2010年1月)
  • 勝利大逃亡英雄逃亡方案,BFS——1253 勝利大逃亡
  • 直流電壓測量模塊,IM1253B交直流電能計量模塊(艾銳達光電)
  • c語言程序設計第三版課后答案,【渝粵題庫】國家開放大學2021春1253C語言程序設計答案
  • 18轉換為二進制,1253. 將數字轉換為16進制
  • light-emitting diode,LightOJ-1253 Misere Nim
  • masterroyale魔改版,1253 Dungeon Master
  • codeformer官網中文版,codeforces.1253 B
  • c語言程序設計考研真題及答案,2020C語言程序設計1253,1253計算機科學與技術專業C語言程序設計A科目2020年09月國家開 放大學(中央廣播電視大學)
  • c語言程序設計基礎題庫,1253本科2016c語言程序設計試題,1253電大《C語言程序設計A》試題和答案200901
  • 肇事逃逸車輛無法聯系到車主怎么辦,1253尋找肇事司機