2019独角兽企业重金招聘Python工程师标准>>>
今天,日常加班中
java同事,今天要做一个功能,在前端点击一个按钮,然后后台调用java方法,启动一个爬虫jar,来获取一些数据,用于展示。然后问我,我也没做过,开始百度。。。
百度了好半天,都是用cmd启动,我晕,我要拿程序启动啊。无语
询问朋友,朋友推荐了一个方法
Runtime.getRuntime().exec()执行cmd命令
URLClassLoader classLoader 使用java的这个类,进行调用jar的class文件 自己找的
好了,开始测试。我最开始已经找到了URLClassLoader
1. 写jar的文件对应路径
String softPath ="file:C:/test/RWZXCrawl.jar";
2. 使用URLClassLoader 加载jar文件
URLClassLoader classLoader = new URLClassLoader(new URL[]{new URL(softPath)});
3.指名jar启动对应class的main的路径
Class demo = classLoader.loadClass("com.baobab.webcraw.GetRWZG");
4.获取demo的这个class的对应方法,与他对应的参数
Method method = demo.getMethod("main", String[].class);
5.通过反射调用这个方法,给与他对应的参数 注意,这里转object的原因
method.invoke(null, (Object)new String[]{});
然后看运行结果
好了,启动了,菜鸡java博客,希望对大家有所帮助,我找了半天文档,文档多的话,我就不写这个博客了,懒人一枚
下班,跑路
这是命令启动的方式,没启动,有研究的同学,可以告知我,我补全下,谢谢