有个需求,在Docker中运行Java 线程。其实很纠结,因为,Linux 是真的只懂一点 —— 总得先在linux系统先运行起来才有下一步的思路。网上倒是搜索到了很多东西 ,但结果就是跑不起来。
1、windows 环境 :
windows系统有个文件夹 test 用来运行java 线程程序 。test 内容为:
lib (文件夹,存放jar) test.bat test.jar
test.bat 内容为:
java -cp ./test.jar;./lib/animal.jar com.linux.test.Test
2、linux 环境
移到linux , 文件夹 linuxtest ,test.bat 更名为 test.sh , 内容为:
lib (文件夹,存放jar) test.sh test.jar
test.sh 内容为:
java -cp ./test.jar:./lib/animal.jar com.linux.test.Test
运行 test.sh . 发现运行正常 。但是我把正式文件这样修改完之后,发现还是运行不起来,由于引入了几十个jar 文件,或许哪里写错了。当我把 ./lib 改为 lib 后,运行正常(各位如果运行失败可以试试)。
3、docker 环境
主要这个还是纠结了一些时间, 因为用 linux 的这种写法不管用。幸亏有大神指引。
是 .sh 文件写的有问题。文件修改为 :
java -cp /linuxtest/test.jar:/linuxtest/lib/animal.jar com.linux.test.Test
要用绝对路径。解决后,发现很简单。
希望对对此问题纠结中的新手有点帮助。