前言

最近测试组有点忙不过来,我也参与了平台自动化测试的工作,我主要的任务是编写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小工具并在命令行中执行相关推荐

  1. 【开发环境】Android 命令行中执行 Java 程序 ( IntelliJ IDEA 中创建 Java / Kotlin 工程 | dx 打包 DEX 字节码文件 | dalvikvm 命令 )

    文章目录 前言 一.IntelliJ IDEA 中创建 Java / Kotlin 工程 二.准备 Java 和 Kotlin 代码 三.编译在 PC 上可执行的 Java / Kotlin JAR ...

  2. java arguments_命令行中执行带参数的java程序(Command-Line Arguments)

    在cmd中运行java程序,可以在class名之后输入参数.Eclipse中可点击run configuration,在argument窗口中指定参数.--现学现卖 代码如下: //by panden ...

  3. centos 计算器_在Linux命令行中使用计算器的5个命令详解

    大家好,我是良许. 在使用 Linux 时,我们有时会需要做一些计算,那么我们就可能需要用到计算器.在 Linux 命令行里,有许多计算器工具,这些命令行计算器可以让我们执行科学计算.财务计算或者一些 ...

  4. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  5. java的算法库_利用Java写开源库 覆盖70多种推荐算法

    描述 在经过一年多的开发工作之后,LibRec 3.0 版本终于发布了.LibRec 是一个基于 Java 的开源算法工具库,覆盖了 70 余个各类型推荐算法,可以有效解决评分预测和物品推荐两大关键的 ...

  6. java使用外部库_在Java中使用外部库

    java使用外部库 Java附带了一组核心库,其中包括定义常用数据类型和相关行为的库,例如String或Date : 与主机操作系统进行交互的实用程序,例如System或File : 有用的子系统来管 ...

  7. java 7 锁优化_自Java 6/Java 7开始,Java虚拟机对内部锁的实现进行了一些优化。这些优化主要包括锁消除(Lock Elision)、锁粗化(Lock Coarse...

    自Java 6/Java 7开始,Java虚拟机对内部锁的实现进行了一些优化.这些优化主要包括锁消除(Lock Elision).锁粗化(Lock Coarsening).偏向锁(Biased Loc ...

  8. java调用jar并传参,Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参

    Java项目导出为jar包+导出第三方jar包+使用命令行调用+传参 一.打包 情况1:不需要向程序传参数,并且程序没有使用第三方jar包 Eclipse上导出jar: 然后选择一个java文件作为入 ...

  9. java 命令行eclipse_在命令行中运行eclipse中创建的java项目

    由于项目要求,需要对eclipse中的项目进行打包,使其可以在客户机上不装eclipse的情况下正常运行. 一.环境说明: eclipse---3.5 jdk-------1.6.0.22 os--- ...

  10. 打成jar包 在命令行下执行java工程

    将java工程打成jar包,但第三方jar包并没有包含在包中,当在命令行中运行jar包时,出现类找不到的异常, 在网上看到解决办法是将第三方jar包放到JDK的扩展类文件夹中(%JAVA_HOME%/ ...

最新文章

  1. 华为手机升级回退_华为鸿蒙OS 2.0手机开发者Beta版支持Mate 30/P40系列OTA升级
  2. XCode 学习技巧之 User Scripts
  3. c语言程序构造数据类型问题,C语言程序设计课程课件之第四章简单构造数据类型.ppt...
  4. NYOJ练习题 下三角矩形 (模拟)
  5. c语言 执行free函数程序被卡住,FreeRTOS操作系统,在按键中断函数中恢复被挂起的任务,程序卡死的原因和解决办法...
  6. Excel多条件求和 SUMPRODUCT函数用法详解
  7. verilog入门笔记
  8. mysql 远程连接取消权限_MYSQL远程登录权限设置
  9. 【java】ssh the connection is not authenticated
  10. android ios mp4格式转换,ios格式转换器
  11. vscode 常用配置
  12. 动态规划与数学方程法解决楼层扔鸡蛋问题
  13. 2017 3月15日 上午
  14. Mac好用的文件对比工具Beyond Compare 4
  15. 局域网传文件_超好用的文件传输工具!
  16. Maxscript基本数据类型(二):Name
  17. 面试笔试整理3:深度学习机器学习面试问题准备(必会)
  18. Gitlab: 常用设置
  19. 个人学习笔记——庄懂的技术美术入门课(美术向)19
  20. Bzoj4899 记忆的轮廓

热门文章

  1. (转)oop设计模式简介
  2. zz:测试还是开发?
  3. poj 2029 Get Many Persimmon Trees 二维树状数组
  4. Lightroom Classic 教程,如何将照片从 Lightroom 移至Ps,在 Ps 中为照片添加文本?
  5. Lightroom Classic 教程,如何在 Lightroom 中使用调整画笔?
  6. 如何使用 Mac 的通知中心?
  7. Cisdem DVD Burner for Mac(DVD光盘刻录软件)
  8. M1芯片的Mac电脑如何进入到恢复模式?
  9. DEVONthink Pro作为浏览器插件脚本,如何使用
  10. 如何设置NeoFinder在共享网络中的目录数据库