java 程序启动jar包方式

news/2024/7/19 11:27:27 标签: java, python, 爬虫

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

今天,日常加班中

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[]{});

c135695201a877772757251699f18353b77.jpg

然后看运行结果

2fa40088bb44660637a1ba302d5315902c1.jpg

好了,启动了,菜鸡java博客,希望对大家有所帮助,我找了半天文档,文档多的话,我就不写这个博客了,懒人一枚

下班,跑路

这是命令启动的方式,没启动,有研究的同学,可以告知我,我补全下,谢谢

f708a931b196b400643c5f34f4a0e40245e.jpg

转载于:https://my.oschina.net/u/2971292/blog/2960777


http://www.niftyadmin.cn/n/1382279.html

相关文章

解压缩命令详解

2019独角兽企业重金招聘Python工程师标准>>> tar -cvf /usr/local/auto_bak/test.tar /usr/local/test 仅打包,不压缩 tar -zcvf /usr/local/auto_bak/test.tar.gz /usr/local/test 打包后,以gzip压缩 在参数f后面的压缩文件名是自己取的&…

定时检查session

为什么80%的码农都做不了架构师?>>> 有时候,会碰到这种情况:需要定时检查session里面的值(如attribute),如心跳通知,这样,就要收集服务器中的所有session,并…

springMvc form action=提交跳转路径问题

表单提交后&#xff0c;action的URL写的是, login/login.do&#xff0c;每次跳转后都变成login/ login/login.do&#xff0c;很显然是相对路径没有搞清楚。 应该弄清楚相对路径&#xff0c;并在JSP代码中加入<base href"<%basePath%>">&#xff0c;这样当…

servlet跳转和filter过滤器中动态代理的一些问题

之前一直以为requtest在实现跳转的时候&#xff0c;两个servlet中的requtest是同一个对象&#xff0c;后来发现了一些问题&#xff0c;记录如下&#xff0c;这是我遇到的一些坑&#xff0c;请哪位大牛看到了评论指导&#xff0c;不知道理解的对不对 首先&#xff0c;创建了一个…

bzoj 2179 FFT快速傅立叶

题目&#xff1a;https://www.lydsy.com/JudgeOnline/problem.php?id2179 注意进位的时候最好先把所有的都变成 int 再普通进位。 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #define db dou…

MySQL over函数的用法

over不能单独使用&#xff0c;要和分析函数&#xff1a;rank(),dense_rank(),row_number()等一起使用。其参数&#xff1a;over&#xff08;partition by columnname1 order by columnname2&#xff09;含义&#xff1a;按columname1指定的字段进行分组排序&#xff0c;或者说按…

Servlet_简单实现

为什么80%的码农都做不了架构师&#xff1f;>>> Servlet 生命周期LifeCycle 载入servlet class --> 创建servlet实例 --> 调用init() 方法 --> 调用service()方法 --> 调用destroy()方法 其中当载入servlet class时&#xff0c;servlet container 就会…

android之AlarmManager 全局定时器

AlarmManager实质是一个全局的定时器&#xff0c;是Android中常用的一种系统级别的提示服务&#xff0c;在指定时间或周期性启动其它组件&#xff08;包括Activity,Service,BroadcastReceiver&#xff09;。 概述&#xff1a; 该类提供一种访问系统闹钟服务的方式&#xff0c;允…