maven可执行jar及加载文件

2023-10-30

1、使用maven-assembly-plugin插件打包

1.1 代码

地址:https://gitee.com/xixingzhe2/learn/tree/master/jar-exe/test-demo

pom.xml

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.api.TestApi</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

代码

package com.api;

/**
 * @author ybwei
 * @Description
 * @date 2021/7/9 16:32
 **/
public class TestApi {

    public static void main(String[] args) {
        System.out.println("start");
        for (String arg : args) {
            System.out.println("param:"+arg);
        }
        System.out.println("end");
    }
}

1.2 打包

mvn clean package

target目录

2021/07/10  15:53             2,312 test-demo-1.0-jar-with-dependencies.jar
2021/07/10  15:53             2,316 test-demo-1.0.jar

反编译test-demo-1.0-jar-with-dependencies.jar包

1.3 执行

1.3.1 java -jar

$ java -jar test-demo-1.0-jar-with-dependencies.jar
start
end

1.3.2 java -cp

对于java -cp就不需要指定Main-Class来指定入口。因为第一个参数就是你的jar包,第二个参数它会根据你的jar包找到第二个参数指定的TestApi类就指定了你的入口类,来输出aaa。

$ java -cp test-demo-1.0.jar com.api.TestApi
start
end

$ java -cp test-demo-1.0-jar-with-dependencies.jar com.api.TestApi
start
end

1.3.3 传入参数

$ java -cp test-demo-1.0.jar com.api.TestApi cc bb
start
param:cc
param:bb
end

 

 cc,dd为main方法的参数可不填

2、加载文件

代码地址:https://gitee.com/xixingzhe2/learn/tree/master/jar-exe/test-config-demo

 执行如下命令及信息打印

$java -cp test-config-demo-1.0.jar com.api.FileApi config.properties
start
加载文件:E:\jar-exe\test-config-demo\target\config.properties
[name, aa.bb]
end

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

maven可执行jar及加载文件 的相关文章

随机推荐