1.背景

前不久接到一个朋友的请求,让我帮他做个小程序处理一些工作上的事情,好歹作为java开发工程师,这点忙还是要帮的.不过马上遇到了一个问题,平时我们都是用IDEA或者eclipse运行的代码, 或者是web项目用tomcat运行的, 他现在这种小白肯定不能让他去装一个IDEA, 所以就遇到了jar包运行的问题.

2. maven项目pom.xml

上代码:
首先打包是要打成jar文件的

<packaging>jar</packaging>

这里需要用到maven的一个maven-shade-plugin插件, 注意里面的main类的配置根据自己的情况修改

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.0.0</version><configuration><descriptors><descriptor>src/assembly/distribution.xml</descriptor></descriptors></configuration><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformerimplementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"><resource>META-INF/spring.handlers</resource></transformer><transformerimplementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"><resource>META-INF/spring.schemas</resource></transformer><transformerimplementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"><resource>META-INF/spring.tooling</resource></transformer><transformerimplementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><manifestEntries><!--这里是你的main方法的类--><Main-Class>com.zgd.jar.App</Main-Class></manifestEntries></transformer></transformers></configuration></execution></executions></plugin></plugins></build>

3. main启动类

跟springboot一样,需要有一个main启动类 ,这里我打印了一个类似springboot的logo,生成器网上很多

package com.zgd.jar;import com.zgd.jar.utils.MainExcelHandle;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;/*** Hello world!**/
public class App {private static Logger logger = LogManager.getLogger(App.class);public static void main( String[] args ) {String s = "\n" +"                                      \n" +"                                      \n" +"                                      \n" +"                                ,---, \n" +"       ,----,                 ,---.'| \n" +"     .'   .`|   ,----._,.     |   | : \n" +"  .'   .'  .'  /   /  ' /     |   | | \n" +",---, '   ./  |   :     |   ,--.__| | \n" +";   | .'  /   |   | .\\  .  /   ,'   | \n" +"`---' /  ;--, .   ; ';  | .   '  /  | \n" +"  /  /  / .`| '   .   . | '   ; |:  | \n" +"./__;     .'   `---`-'| | |   | '/  ' \n" +";   |  .'      .'__/\\_: | |   :    :| \n" +"`---'          |   :    :  \\   \\  /   \n" +"                \\   \\  /    `----'    \n" +"                 `--`-'               \n";System.out.println(s);MainExcelHandle.splitExcel();}
}

3. 写自己要执行的方法

我这里是

 MainExcelHandle.splitExcel();

总之在main方法要执行那些方法,就看自己的需求了.

4. 打成jar包

最好现在main方法跑一遍看看有没有问题,然后用maven的install命令,打成jar包,在target文件夹下就可以找到XXX-1.0-SNAPSHOT.jar

5. 和jre放在一个文件夹

新建一个文件夹myapp

把jar包改个名,比如myapp.jar, 放到myapp文件夹中

然后找到自己的JRE文件夹, JDK文件夹里面也有JRE文件夹,如果当时安装java 的时候连JRE一起安装的话,有个单独的JRE文件夹


JRE文件夹复制到myapp文件夹中,JRE文件夹改个名jre1.8

6. bat文件运行

新建一个文本

@echo of.\jre1.8\bin\java -jar myapp.jar
@pause

保存为start.bat

大功告成,双击bat试试吧

7 附:

1. jar转成exe运行

打成jar包以后log4j2日志的打印目录设置

一步一步教你将java代码打成jar包用bat批处理命令运行相关推荐

  1. Eclipse中将java类打成jar包形式运行

    记录一次帮助小伙伴将java类打成jar包运行 1.创建java project项目 file > new > project > java project 随便起一个项目名称,fi ...

  2. 将java文件打成jar包

    新建一个配置文件mainfest.mf 设置内容Main-Class: Str2CamelCaseStr 把配置文件放到编译好的java文件 xxx.class同目录下面 到当前目录打开命令窗口 执行 ...

  3. idea将java项目打成jar包

    一.idea将java项目打成jar包(非maven方式) File -->Project Structure -->Artifacts --> Jar --> From mo ...

  4. “java程序打成jar包 如何处理第三方jar包”

    eclipse的export的 runnable jar file 导出的jar包的形式应该可以避免这个问题,直接想所依赖的jar里的class文件也一并打入jar包里了. 问题一: 现在有一j2se ...

  5. Java项目打成Jar包后执行Jar包指定方法

    最近在考虑跳个槽的问题,也看了几个面试,其中有一个面试让我本地写一个蛇形矩阵,打成Jar包,并且可以使用java -jar 命令启动,本人基础不太牢固,这个问题我找了半天才找到解决的办法,面试题答完直 ...

  6. java工程打成jar包 - 使用maven assembly插件打包及手动打包

    在java工程打包的过程中遇到过不少问题,现在总结一下.一种是典型的maven工程打包,依赖的jar包全都在pom.xml中指定,这种方式打包很方便:另一种是依赖了本机jar包(不能通过pom.xml ...

  7. java文件打成jar包

    cmd命令打jar包: 老规矩,先打开黑窗口.如下: 打"jar",然后回车,就能看见JDK给我们提供打jar的一些字母的含意.下面还提供了一个示例. 在打jar之前,必须找到你j ...

  8. 命令行把java项目打成jar包

    工作中需要把jenkin-client项目打成jar包使用. 以下为在命令行用jar命令打包,记录一下: 切换到项目路径,执行 jar cf  jenkin-client.jar  java-clie ...

  9. java类打成jar包(小游戏等)

最新文章

  1. 未来企业IT选型将更关注社交性(转载)
  2. ppt生成器_WPS又有新动作!发布新款PPT快速生成器,职场办公必备
  3. 解决网络故障的一般方法
  4. pro调用python libs_使用WingPro 7 设置Python路径的方法
  5. ImportError: cannot import name 'six' from 'django.utils'
  6. TCPIP协议卷2之io中断
  7. ic 卡获取帐号apdu指令_《全球行动》携手京东校园送福利 1000元京东卡等你拿
  8. Mac上最佳的SVN管理工具:Cornerstone
  9. Vnc-server——linux远程桌面配置
  10. cad帧数测试软件,怎样让cad运行速度更快_cad如何设置运行更流畅
  11. IDC机房建设方案参考资料
  12. HTML+CSS基础学习笔记2
  13. 基于python机票预定系统_机票预订系统课程设计.doc
  14. 精品收藏:GitHub人工智能AI开源项目
  15. 算法之回溯算法-24点问题
  16. Omniverse元宇宙开发框架
  17. Linux操作系统作业
  18. java学习之LinkedList(链表)
  19. 【Windows】多显示器拔出HDMI接口线后应用界面丢失问题
  20. 怎么让照片人物嘴巴动起来?这个好用方法你必须知道

热门文章

  1. Python开发网站
  2. Word 2016中给公式自动编号
  3. 革命展馆沙盘拍照打卡学习活动制作方案,border-color 属性用于设置四个边框的颜色。
  4. 【Redis】事务不保证原子性、没有隔离级别
  5. 一位3年测试工程师的焦虑:月薪还不到3W,真的很担心被后面的小年轻挤掉......
  6. eclipse中svn冲突解决
  7. DevCon 命令行实用工具可替代设备管理器
  8. 如果配置计算机硬件设备,客户端医保定点计算机设备硬件配置要求
  9. 2018大数据培训学习路线图(详细完整版)
  10. Android 内置RTSP/RTMP服务器,实现局域网内视频推流与播放