一.项目需求

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文件的更多相关文章

  1. myeclipse(2015)中创建简单的Maven项目的步骤(用于生成可执行jar文件)------》myeclipse2015

    利用MyEclipse的引导,可以很方便的创建简单的.用于生成可执行jar文件的Maven项目: 1.New -> Project... 选择 Maven Project, 点击Next > ...

  2. commondline 之三 执行jar文件

    java [-options] -jar jarfile [args...] 点击查看获取可执行jar文件方法

  3. Java应用程序可执行jar文件与服务器交互中文乱码

    生成可执行jar文件后,直接双击打开应用,发送Http请求带有中文时,服务器接收到的中文乱码! 解决方式: 1.在cmd命令中执行javaw命令打开jar可执行应用: 打开cmd命令框,输入: jav ...

  4. maven打包可执行jar文件运行报错

    起因 项目中同时依赖了Spring和MyBatis,并使用mybatis-spring集成MyBatis和Spring. 使用maven打包为可执行jar文件运行,打包插件为:maven-shade- ...

  5. linux怎么执行jar文件 怎么打可执行的jar包

    Linux下执行jar文件方法:命令行下进入文件目录,执行java -jar file.jar即可,也可在桌面创建一个启动器,在命令栏填写相关的命令:java -jar /file路径/file.ja ...

  6. Java 执行jar文件出现版本错误信息

    Java 执行jar文件出现版本错误信息 一.问题 执行jar文件出现如下错误信息: 二.解决方案 是因为在创建工程的时候选择的jdk编译版本,和执行jar环境的jdk版本不一致: 更改工程的jdk版 ...

  7. 11) 生成可执行jar文件 maven-shade-plugin

    搜索 site:maven.apache.org maven-assembly-plugin http://maven.apache.org/plugins/maven-assembly-plugin ...

  8. cmd中执行jar文件命令(待参数)

    cmd中执行jar文件命令(待参数) 1,jar文件路径:F:\products 2,cmd命令: --两个日期参数(空格隔开) java -jar F:\products\analysis.jar ...

  9. 记录自己在 cmd 中执行 jar 文件遇到的一些错误

    记录自己在 cmd 中执行 jar 文件遇到的一些错误 场景: 请求接口,解析接口返回的 JSON 字符串并插入到我们的数据库里面. 情况: 项目在 eclipse 中正常运行,打成 jar 包后在 ...

随机推荐

  1. Vuejs 整合 MUi

    整合方法和使用axios的方法类似.具体步骤如下: 引入mui的css和js import mui from './lib/mui/js/mui.js' import './lib/mui/css/m ...

  2. IDEA里点击Build,再Build Artifacts没反应,灰色的?解决办法(图文详解)

    不多说,直接上干货! 问题详情 如下:点击Build ,再 Build -> Build Artifacts,没反应??? 解决办法 1.File,再Project Structure 2.然后 ...

  3. golang---interface结合reflect的泛型应用

    大致思路:序列化未知json放入一个interface{}中再通过反射将其内容解析出来 str1:=`{ , , , , , , "type_key": "testnow ...

  4. ubuntu16.04安装cuda,无法定位软件包问题

    为了学习深度学习,这几天在安装深度学习框架,cuda安装时却出现无法定位软件包的问题.cuda官网下载时提供了deb和run格式,今天只讲deb格式的安装包安装过程的问题. 按照官方教程,下载好cud ...

  5. plt绘制 2维、3维散点图

    # 3维import numpy as np import matplotlib.pyplot as plt from sklearn.datasets.samples_generator impor ...

  6. 转:Java8内存模型—永久代(PermGen)和元空间(Metaspace)

    一.JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部分. 1.虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建.栈里面存着的是一种叫“栈 ...

  7. 笔记五:python字符串

    一:学习内容 字符串类型 字符串类型判断 字符串类型互转 字符串小练习 二:字符串类型 1. basestring 在python中和字符串相关的数据类型为:str和unicode,他们都是bases ...

  8. SpringBoot 初接触之 404

    1. 确认输入项目路径是否正确,如:http://localhost:8080/index,这里需要注意的是端口号的查看 2. 确认注解是否用对 在 Controller 层类上面使用的注解是 @Re ...

  9. 转载:哈希加密算法 MD5,SHA-1,SHA-2,SHA-256,SHA-512,SHA-3,RIPEMD-160 - aTool

    http://www.atool.org/hash.php 一.MD5哈希加密算法 MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致.是计算 ...

  10. 导出为shape文件

    private void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)//导出为s ...