maven把java代码打成jar包,怎样把引入的jar包打到一起

要将您的Java代码和依赖的外部JAR文件打包成一个JAR文件,通常需要使用Maven的maven-assembly-plugin插件或maven-shade-plugin插件。这些插件可以将所有依赖项打包到一个可执行的JAR文件中。以下是使用maven-shade-plugin的步骤:

  1. pom.xml文件中添加maven-shade-plugin插件

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>your.main.class.name</mainClass> <!-- 替换为您的主类名 -->
                            </transformer>
                        </transformers>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

确保将<mainClass>元素替换为您的主类的完全限定名,即包含main方法的类。

  1. 运行mvn package

在命令行中,进入包含pom.xml的项目根目录,然后运行以下命令来构建项目并生成包含所有依赖项的JAR文件:

bash

mvn package

  1. 查找生成的JAR文件

构建成功后,您将在target目录下找到生成的JAR文件,通常命名为your-project-name.jar

此JAR文件包含了您的Java代码以及所有依赖项。可以通过运行以下命令来执行它:

bash

java -jar your-project-name.jar

这样,您就可以将Java代码和所有依赖项打包到一个JAR文件中,并方便地执行它。请注意,maven-shade-plugin也可以用于创建可执行的JAR文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想将所有依赖一起打进 jar 包中,可以使用 Maven 插件 `maven-assembly-plugin` 或者 `maven-shade-plugin`。 下面是使用 `maven-assembly-plugin` 插件的例子,将所有依赖项打包到一个大的 jar 包中: 1. 在 pom.xml 文件中添加以下内容: ```xml <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>3.3.0</version> <configuration> <archive> <manifest> <mainClass>com.example.MainClass</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> ``` 这个配置指定了 `maven-assembly-plugin` 插件的版本号、打包方式以及执行时机。其中,`descriptorRefs` 指定了使用哪个打包描述符,这里使用了 `jar-with-dependencies` 描述符,意味着将所有依赖项打包到同一个 jar 包中。 2. 执行 `mvn package` 命令打包项目。打包完成后,你将在 `target` 目录下找到一个以 `-jar-with-dependencies` 结尾的 jar 包,这个 jar 包中包含了所有的依赖项。 如果你使用的是 `maven-shade-plugin`,可以将上面的 `maven-assembly-plugin` 替换为以下内容: ```xml <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> <createDependencyReducedPom>false</createDependencyReducedPom> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.example.MainClass</mainClass> </transformer> </transformers> </configuration> </execution> </executions> </plugin> ``` 这个配置与 `maven-assembly-plugin` 类似,也是将所有依赖项打包到同一个 jar 包中,并指定了主类名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值