zoukankan      html  css  js  c++  java
  • 8.使用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 FilesJavajdk1.8.0_131in

    由于Program Files中间存在空格,所以执行bat文件时总是报错,排查了好久才找到原因。

    2018年8月25日 08:42:26

    2019年6月21日 10:24:21

    2020年4月24日 22:20:33

  • 相关阅读:
    USB Device Finder
    Delphi Interfaces
    Why we need interfaces in Delphi
    PostQuitMessage, PostThreadMessage( WM_QUIT )
    state与status的区别
    SQLSERVER监控复制并使用数据库邮件功能发告警邮件
    干货分享:SQLSERVER使用裸设备
    SQLSERVER truncate table之后是否会重置表的自增值
    配置SQL Server去使用 Windows的 Large-Page/Huge-Page allocations
    SQLSERVER 数据库性能的的基本
  • 原文地址:https://www.cnblogs.com/lukelook/p/8683352.html
Copyright © 2011-2022 走看看