4.使用bat调用可执行jar文件
一.项目需求
1.maven工程
2.有properties配置文件。
3.有内部jar包
二.简单的是实现实例
1.项目文件放置

注意:如果是web工程,我们会将jar文件当到我们项目WEB-INF/lib中路径下。

2.main方法代码
package com.my.tools.run; import java.io.IOException;
import java.io.InputStream;
import java.util.Properties; import com.my.util.Book; /**
* Hello world!
*
*/
public class RunBat {
public static void main(String[] args) {
System.out.println("Welcom to this system");
Properties prop = new Properties();
InputStream in = RunBat.class.getClassLoader().getResourceAsStream("config/config.properties");
try {
prop.load(in);
Book book = new Book(prop.getProperty("name"), Double.parseDouble(prop.getProperty("price")));
System.out.println(book); } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}
3.pom配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.my.tools</groupId>
<artifactId>run</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>run</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgs>
<arg>-extdirs</arg>
<arg>${project.basedir}/lib</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
4.clean install maven 项目保证项目可以编译成功;
5.导出为可执行jar

6.在导出的可执行jar中创建config 文件和bat文件,并把项目的config文件copy到对应的目录里:(此时用的还是jar包里的config文件,后边会介绍如何使用外部config文件)

7.编辑bat文件

三.如何使用外部config
1.把代码里的config 文件copy 到外部对应的config文件夹里,删除代码里的config文件再导出jar.
2.用给主函数传参的方法传入jar外部config的路径
四.三种执行方法
1.直接双击bat文件,执行结果如下:

2.打开cmd窗口,进入可执行jar所在的文件夹下,执行run.bat指令

3.打开cmd窗口,进入可执行jar所在的文件夹下,执行java -jar run.jar

bat文件千万不能在符号间随意添加空格,
我原来的jdk的路径为:C:\Program Files\Java\jdk1.8.0_131\bin
由于Program Files中间存在空格,所以执行bat文件时总是报错,排查了好久才找到原因。
2018年8月25日 08:42:26
2019年6月21日 10:24:21
2020年4月24日 22:20:33
4.使用bat调用可执行jar文件的更多相关文章
- myeclipse(2015)中创建简单的Maven项目的步骤(用于生成可执行jar文件)------》myeclipse2015
利用MyEclipse的引导,可以很方便的创建简单的.用于生成可执行jar文件的Maven项目: 1.New -> Project... 选择 Maven Project, 点击Next > ...
- commondline 之三 执行jar文件
java [-options] -jar jarfile [args...] 点击查看获取可执行jar文件方法
- Java应用程序可执行jar文件与服务器交互中文乱码
生成可执行jar文件后,直接双击打开应用,发送Http请求带有中文时,服务器接收到的中文乱码! 解决方式: 1.在cmd命令中执行javaw命令打开jar可执行应用: 打开cmd命令框,输入: jav ...
- maven打包可执行jar文件运行报错
起因 项目中同时依赖了Spring和MyBatis,并使用mybatis-spring集成MyBatis和Spring. 使用maven打包为可执行jar文件运行,打包插件为:maven-shade- ...
- linux怎么执行jar文件 怎么打可执行的jar包
Linux下执行jar文件方法:命令行下进入文件目录,执行java -jar file.jar即可,也可在桌面创建一个启动器,在命令栏填写相关的命令:java -jar /file路径/file.ja ...
- Java 执行jar文件出现版本错误信息
Java 执行jar文件出现版本错误信息 一.问题 执行jar文件出现如下错误信息: 二.解决方案 是因为在创建工程的时候选择的jdk编译版本,和执行jar环境的jdk版本不一致: 更改工程的jdk版 ...
- 11) 生成可执行jar文件 maven-shade-plugin
搜索 site:maven.apache.org maven-assembly-plugin http://maven.apache.org/plugins/maven-assembly-plugin ...
- cmd中执行jar文件命令(待参数)
cmd中执行jar文件命令(待参数) 1,jar文件路径:F:\products 2,cmd命令: --两个日期参数(空格隔开) java -jar F:\products\analysis.jar ...
- 记录自己在 cmd 中执行 jar 文件遇到的一些错误
记录自己在 cmd 中执行 jar 文件遇到的一些错误 场景: 请求接口,解析接口返回的 JSON 字符串并插入到我们的数据库里面. 情况: 项目在 eclipse 中正常运行,打成 jar 包后在 ...
随机推荐
- Oracle 中分组排序取值的问题
整理一下排序: 建表语句:create table EXAM( name VARCHAR2(32), subject VARCHAR2(32), score INTEGER)数据:IN ...
- Picasso加载网络图片失败,提示decodestream时返回null
最近遇到一个问题,项目用的图片加载框架是Picasso,网络加载框架是okhttp,项目在加载轮播图时有时可以正常加载,有时,会加载失败,提示decodestream时返回null. 首先,需要确定是 ...
- 《Mysql技术内幕,Innodb存储引擎》——锁
lock与latch 在数据库中lock与latch分别指不同的所. latch:可分为互斥量(mutex)和读写锁(rwlock),目的在于保证数据库内部的结构中共享资源并发时能够正确操作,其对象主 ...
- 7-nginx-keepalived配置主从双击热备
nginx的高可用解决方案 keepalive 是 VRRP 协议的完美实现, 通过vip(虚拟ip)来实现主从双击热备, 自动切换的高可用方案, nginx的主从是通过keepalived实现的 通 ...
- video 安卓ios系统 浏览器 全屏播放以及自动播放的问题
ios自动播放 <body onload="load()"> <div class="result_box"> <div clas ...
- Polymorphic form--多态表单
一个ruby on rails项目,用户和公司的模型都有地址. 我要创建一个地址表,包含用户和公司表的引用,比直接做下去要好一点,这回让我的数据库设计保持干净. 我的第一印象是,这似乎很难实现,外面所 ...
- golang基础--map字典
map 类似python语言中的dict(字典类型),以key-value形式存储数据 Key必须是支持==或!=比较运算的类型,不可以是函数,map或slice map查找比线性搜素快很多,但比使用 ...
- cordova打包APK,报错:Cannot evaluate module CordovaLib : Configuration with name 'debug' not found.
原因:之前做其他项目的时候把环境(gradle)升级了. 解决方案:将gradle降低回原来的版本.
- 图片切换(手动切换,imagelist的单独使用)
//当前图片的索引 private int currIndex = 0; //判断上一个按钮和下一个按钮是否可用 private void SetEabled() { //如果当前显示的是第一张图片, ...
- Jsp&Servlet入门级项目全程实录第6讲
惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 1.建立数据表及数据(略) 2.创建student model package com.java1234.model; ...