普通maven项目打成jar包+启动时传输数据给jar包主类

简介: 普通maven项目打成jar包+启动时传输数据给jar包主类

普通maven项目打包

配置pom.xml

首先在项目的pom.xml文件中添加打包配置

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.2.4</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>com.dam.Application</mainClass>
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>


注意:修改主类为你的项目的启动类,在使用java -jar命令执行jar包的时候,默认会启动该类

如何知道类怎么引用,如果你使用的代码编辑器是IDEA,可以参考下图的方式快速复制类的引用

运行maven命令

配置好上面的打包工具之后 ,参考下图从上到下依次执行命令即可完成打包


执行成功,jar包所在目录如下


运行jar包时传输数据给jar包主类

主类

这里主类的作用是将传入的参数打印下来

package com.dam;
import java.util.Arrays;
public class Application {
    public static void main(String[] args) {
        System.out.println(Arrays.toString(args));
    }
}

传参

只需要在执行jar时,在后面添加参数即可 ,不同参数之间使用空格隔开


如果要传输更多的数据怎么办,可以在参数中传入一个json文件的地址,然后程序根据地址来读取json文件,进而从中获取更多的数据。


目录
相关文章
|
1天前
|
Java Maven
Maven 构建 Java 项目
使用 Maven 的 archetype:generate 命令创建 Java 项目,如 `mvn archetype:generate` -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false,在 C:\MVN 下生成基于 maven 的 consumerBanking 项目。
|
2天前
|
Java Apache Maven
Maven 项目文档
在C:/MVN下,使用命令`mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false`创建Maven Java项目。确保`pom.xml`包含`maven-site-plugin`和`maven-project-info-reports-plugin`配置,版本分别至少为3.3和2.7,以避免`NoClassDefFoundError`。
|
3天前
|
前端开发 JavaScript Java
Maven实战 Item3 -- Maven项目构建2_构建一个maven2 3项目
Maven实战 Item3 -- Maven项目构建2_构建一个maven2 3项目
|
3天前
|
JavaScript 安全 前端开发
Maven实战 Item2 -- Maven项目构建(手动)_term2 配置maven(2)
Maven实战 Item2 -- Maven项目构建(手动)_term2 配置maven(2)
|
5天前
|
Java Docker 容器
|
5天前
|
运维 Java Shell
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
42 0
|
5天前
|
Java Maven 微服务
springboot项目开启远程调试-jar包
springboot项目开启远程调试-jar包
26 0
|
5天前
|
Java 测试技术 Maven
maven 打jar包:mvn clean package
maven 打jar包:mvn clean package
32 7
|
5天前
|
Java Maven
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录(一)
向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录
19 0
|
1天前
|
Oracle Java 关系型数据库
实时计算 Flink版操作报错合集之本地打成jar包,运行报错,idea运行不报错,是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
10 0

热门文章

最新文章

推荐镜像

更多