每日java制作小工具_制作Java小工具并在命令行中执行
前言
最近测试组有点忙不过来,我也参与了平台自动化测试的工作,我主要的任务是编写Java小工具辅助自动化测试流程。由于之前一直做的是web开发,没有编写过java小工具,刚开始以为很简单,其实还是碰到了一点坑,记录一下。
编写一个java小工具,在命令行中使用命令运行java小工具,要做到的效果如下:
在命令行中输入:
java -jar xxxx.jar
即可把xxx 工具运行成功。
代码示例如下:
搭建maven工程,然后写主类,如下:
public class StatisticsForReportOneFile {
public static void main(String[] args) throws IOException {
String resultFilePath = args[0]; // 运行时指定参数,这里只收第一个参数
// 省略xxx业务逻辑
}
}
使用maven进行打包得到xxx.jar包
执行命令:
正常情况下,在命令行中执行 java -jar xxx.jar F:\my_work\xxxx\自动化测试结果\result
就可以了,但是报了错误
xxx.jar中没有主清单属性
解决办法:解压jar包,找到 META-INF 文件夹下面的MANIFEST.MF文件,然后解压出来
添加主类到该文件,如下:
Main-Class: xxx.gis.gisportalTest.StatisticsForReportOneFile
再把这个文件替换回jar里面
运行报错,找不到第三方jar包的class文件
如果在工程中引用了第三方jar包,则会报找不到第三方jar包的class文件的错误。解决办法是在pom.xml中直接加入下面的插件配置即可让maven在打jar包的时候把第三方依赖的包打进来,同时指定了mainClass,则可以把修改MANIFEST.MF这个步骤都可以省略了,打好包之后就可以直接执行jar包啦。
org.apache.maven.plugins
maven-compiler-plugin
1.8
1.8
maven-assembly-plugin
false
jar-with-dependencies
xxx.gis.gisportalTest.StatisticsForReportOneFile
make-assembly
package
assembly
每日java制作小工具_制作Java小工具并在命令行中执行相关推荐
- 【开发环境】Android 命令行中执行 Java 程序 ( IntelliJ IDEA 中创建 Java / Kotlin 工程 | dx 打包 DEX 字节码文件 | dalvikvm 命令 )
文章目录 前言 一.IntelliJ IDEA 中创建 Java / Kotlin 工程 二.准备 Java 和 Kotlin 代码 三.编译在 PC 上可执行的 Java / Kotlin JAR ...
- java arguments_命令行中执行带参数的java程序(Command-Line Arguments)
在cmd中运行java程序,可以在class名之后输入参数.Eclipse中可点击run configuration,在argument窗口中指定参数.--现学现卖 代码如下: //by panden ...
- centos 计算器_在Linux命令行中使用计算器的5个命令详解
大家好,我是良许. 在使用 Linux 时,我们有时会需要做一些计算,那么我们就可能需要用到计算器.在 Linux 命令行里,有许多计算器工具,这些命令行计算器可以让我们执行科学计算.财务计算或者一些 ...
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- java的算法库_利用Java写开源库 覆盖70多种推荐算法
描述 在经过一年多的开发工作之后,LibRec 3.0 版本终于发布了.LibRec 是一个基于 Java 的开源算法工具库,覆盖了 70 余个各类型推荐算法,可以有效解决评分预测和物品推荐两大关键的 ...
- java使用外部库_在Java中使用外部库
java使用外部库 Java附带了一组核心库,其中包括定义常用数据类型和相关行为的库,例如String或Date : 与主机操作系统进行交互的实用程序,例如System或File : 有用的子系统来管 ...
- java 7 锁优化_自Java 6/Java 7开始,Java虚拟机对内部锁的实现进行了一些优化。这些优化主要包括锁消除(Lock Elision)、锁粗化(Lock Coarse...
自Java 6/Java 7开始,Java虚拟机对内部锁的实现进行了一些优化.这些优化主要包括锁消除(Lock Elision).锁粗化(Lock Coarsening).偏向锁(Biased Loc ...
- java调用jar并传参,Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参
Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参 一.打包 情况1:不需要向程序传参数,并且程序没有使用第三方jar包 Eclipse上导出jar: 然后选择一个java文件作为入 ...
- java 命令行eclipse_在命令行中运行eclipse中创建的java项目
由于项目要求,需要对eclipse中的项目进行打包,使其可以在客户机上不装eclipse的情况下正常运行. 一.环境说明: eclipse---3.5 jdk-------1.6.0.22 os--- ...
- 打成jar包 在命令行下执行java工程
将java工程打成jar包,但第三方jar包并没有包含在包中,当在命令行中运行jar包时,出现类找不到的异常, 在网上看到解决办法是将第三方jar包放到JDK的扩展类文件夹中(%JAVA_HOME%/ ...
最新文章
- 华为手机升级回退_华为鸿蒙OS 2.0手机开发者Beta版支持Mate 30/P40系列OTA升级
- XCode 学习技巧之 User Scripts
- c语言程序构造数据类型问题,C语言程序设计课程课件之第四章简单构造数据类型.ppt...
- NYOJ练习题 下三角矩形 (模拟)
- c语言 执行free函数程序被卡住,FreeRTOS操作系统,在按键中断函数中恢复被挂起的任务,程序卡死的原因和解决办法...
- Excel多条件求和 SUMPRODUCT函数用法详解
- verilog入门笔记
- mysql 远程连接取消权限_MYSQL远程登录权限设置
- 【java】ssh the connection is not authenticated
- android ios mp4格式转换,ios格式转换器
- vscode 常用配置
- 动态规划与数学方程法解决楼层扔鸡蛋问题
- 2017 3月15日 上午
- Mac好用的文件对比工具Beyond Compare 4
- 局域网传文件_超好用的文件传输工具!
- Maxscript基本数据类型(二):Name
- 面试笔试整理3:深度学习机器学习面试问题准备(必会)
- Gitlab: 常用设置
- 个人学习笔记——庄懂的技术美术入门课(美术向)19
- Bzoj4899 记忆的轮廓
热门文章
- (转)oop设计模式简介
- zz:测试还是开发?
- poj 2029 Get Many Persimmon Trees 二维树状数组
- Lightroom Classic 教程,如何将照片从 Lightroom 移至Ps,在 Ps 中为照片添加文本?
- Lightroom Classic 教程,如何在 Lightroom 中使用调整画笔?
- 如何使用 Mac 的通知中心?
- Cisdem DVD Burner for Mac(DVD光盘刻录软件)
- M1芯片的Mac电脑如何进入到恢复模式?
- DEVONthink Pro作为浏览器插件脚本,如何使用
- 如何设置NeoFinder在共享网络中的目录数据库