使用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到对应的目录里:

 

7.编辑bat文件

 (已配置过环境变量,所以第一行可以直写 java -jar run.jar)

 三.如何使用外部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

 

posted @ 2018-03-31 18:20  Rooker  阅读(16626)  评论(0编辑  收藏  举报