shell脚本调用jar
⑴ 想请大神写一个在linux环境下用shell脚本控制jar的启动和停止,类似于一个后台服务那种的。
得看你的程序是什么样子 一般脚本中主要需要定义好你的启动用户 java的环境变量 jar需要调用的类和库 然后用case语句 来通过判断脚本后面键入的值 如start stop等一类的内容 来执行或结束jar程序
⑵ python 需要调用 /shell/目录下的run.sh。在脚本中调用的是一个jar包,jar包可
我用的spss版本是22.0,也是最近为了使用SPSS Python Essentials才安装的这个版本,大家可以参考这篇文章,以便正确安装spss 22.0。
安装好了spss22.0以后,如果你按照上面的安装教程进行的安装,SPSS Python Essentials就自动的安装在了你的spss22.0的安装目录下。接下来我们要进行必要的设置。
打开spss22的界面,打开编辑菜单下的【选项】
切换到脚本选项下,我们设置一下缺省脚本语言为python,点击【应用】
切换到【文件位置】选项下,设置python的位置,我们有两个选项,一个是随IBM SPSS安装的位置,这就是说,spss22在安装的时候自动安装了python2.7,如果我们想要使用这个python,就选择第一个选项;但是我现在有一个更好的建议,使用我们自己安装的python,也就是说在安装spss之前就有一个python安装好了,我现在想使用这个python,我们可以设置python的其他安装,然后找到这个python安装的目录,最后点击确定就可以了。为什么我建议使用第二种选择呢?因为我的python下有很多安装好的扩展包,需要在处理数据的时候调用,以后安装新的扩展包也很方便。如果使用是、随spss安装的python,还需要另行安装这些扩展包
设置完成以后,我们想要启动python的编辑窗口,需要在开始菜单中启动,如图所示。不能直接从python的安装目录里启动。
另外,spss22还有一个bug,我们虽然设置了Python的主目录,但是在新建脚本的时候,还是用的随spss安装的python的shell。所以想要使用python脚本,你就从上面那个方面里启动python shell
原作者:Delta数据工作室
⑶ 如何通过shell脚本调用java的main方法
你把整个工程打成jar包,然后在linux下执行java -jar xxxx.jar就好了,打jar包的时候默认都是以main函数为入口的
⑷ 用shell怎么调用java程序
你是在linux环境下运行吧!
如果你是要编译执行单个java文件,当然用javac,和java,如果是在一个shell脚本中妄图调用java程序,假如这个程序是个jar包,也许可以这么干:在你能保证的路径下放入可执行的jar包,然后在脚本中写到:java -jar jar包路径+jar包名称.jar,不信可以在终端使用该命令!
------最后,希望采纳!毕竟我们纯手打!
⑸ jar包start,stop shell脚本 以及报: arguments must be process or job IDs错误处理
start.sh:
stop.sh:
注:脚本和jar包放在同一目录下;
执行脚本:
bash start.sh
bash stop.sh
报错:: arguments must be process or job IDs
由于笔者是在Windows上编辑的,因此默认格式是dos。如果在Linux上使用,请使用vi命令编该文件,改为Unix格式。
使用这个命令“sed -i "s/\r//" filename”,将文件格式修改为unix格式。
执行脚本无误。
困扰2小时的bug,打个mark
THAT OVER!
⑹ jenkins上使用shell脚本nohup部署jar服务到remote服务器
先贴一下,我的jenkins里最后核心配置
remove_jar.sh脚本:
start_jar.sh脚本内容:
remove_jar.sh 和 start_jar.sh 在jenkins服务器上,需要将这两个shell在0.0.0.0(不能暴露)的远端去执行
没错,客官您一眼就看出来了派行,觉得简单的不值一提吧,先别着急,对搜这个问题的滑岁小菜鸡来说这里面也是大有文章,听我一一道来。
1、第一个问题:ps -ef|grep xxx.jar查到多余的pid
现象:在0.0.0.0上行 ps -ef | grep alk-wxapi-test.jar | grep -v grep | awk '{print $2}' 只能查到一个pid,但是把这句话放到shell脚本里,在本地使用命令上远端执行,就会找到3个pid,而且kill 时提示失败的错误。
现在已经知道原因了,但是当时确实是个问题。
已经解决不方便复现了,因此就描述一下就行了。
原因:shell里的这个命令也是通过bash在远程执行的,所以找到的别的 无关紧要 的pid其实是bash,因此在grep是除了排除grep本身( grep -v grep )外还要排除bash( grep -v bash )
最后命令是:
2、远程执行脚本,里面有nohup java -jar,发生错误: nohup: failed to run command ‘java’: No such file or directory
这是因为nohup时java环境变量没有读到,处理方式就是在nohup执行前加入
3、其他思路
4、第二条说jdk的路径因为每个服务企业都不一样,所以需要手动传改,这一点已经在脚本上做了修改,启动脚本上信羡睁携带的第一个参数就是jdk的安装路径
这两个也都是比较好的思路,以后肯定有机会体验的,本篇到此。
ps -ef |grep -v 在shell sh 脚本中貌似无效?
linux下搭建zookeeper集群遇到的坑
nohup: cannot run command异常解决
Zookeeper not starting, nohup error
⑺ shell定时执行脚本启动jar程序的问题
在脚本里声明java环境变量,加上下列语句在#! /bin/sh底下,注意.后面有空格
. ~/.bash_profile
. /etc/profile
⑻ Linux shell脚本启动一个jar为什么抛出NoClassDefFoundError的异常
这个并不是你脚本的问题,而是jar包里的代码问题:缺少了相关的class文件。问题应该是你的jar包运行需要第三方jar文件吧。