maven+idea打包可运行的jar文件

1、首先创建一个maven项目,然后在Pom.xml文件中添加入下代码:

<build>
        <plugins>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.1.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>
                            <useUniqueVersions>false</useUniqueVersions>
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>com.sunxj.rename.FileReName</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

2、其中mainClass是设定自己创建main函数所在的类,如下图所示:

3、然后在idea左下角打开Terminal,然后输入mvn package即可,然后会自动打包jar文件,如下图所示:

4、然后就会在当前目录生成一个target,其中有个jar就是打包的,然后就可以通过java -jar filename.jar运行了。

5、以上方式只能打包指定主类的方式,如果项目中有多个main,那么就需要通过以下方式来打包,pom.xml的内容如下:

    <build>
        <sourceDirectory>src/main/java</sourceDirectory>
        <testSourceDirectory>src/test/java</testSourceDirectory>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.1.1</version>
                <configuration>
                    <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>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.10</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

6、此种方法是将所有包打包成一个jar包,然后通过指定的主类来运行的,比如:java -cp filerename.jar com.sunxj.rename.FileReName即可运行。

7、如果还想将scala加入maven,则还需要加入:

            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <version>2.15.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

8、如下代码:

<?xml version="1.0" encoding="UTF-8"?>
<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>spark-sql</groupId>
    <artifactId>spark-sql</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>

    </dependencies>

    <build>
        <sourceDirectory>src/main/java</sourceDirectory>
        <testSourceDirectory>src/test/java</testSourceDirectory>
        <plugins>
            <plugin>
                <groupId>org.scala-tools</groupId>
                <artifactId>maven-scala-plugin</artifactId>
                <version>2.15.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.1.1</version>
                <configuration>
                    <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>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.10</version>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 打包jar是将项目的源代码和依赖打包成一个可执行的JAR文件,方便发布和部署。Maven是一个项目管理工具,可以帮助我们自动化构建、依赖管理和项目部署。 首先,我们需要在项目的pom.xml文件中配置Maven插件来执行打包操作。在<build>标签下添加<plugins>标签,并在其中添加maven-jar-plugin插件。该插件可以帮助我们打包成可执行的JAR文件。 接下来,在命令行中切换到项目的根目录下,执行"Mvn package"命令。这个命令会触发Maven执行打包操作。Maven会自动下载项目的依赖,并将项目的源代码和依赖打包成一个JAR文件打包完成后,在项目的target目录下会生成一个以项目名称命名的JAR文件。这个JAR文件就是我们打包好的可执行文件。 如果我们需要将打包好的JAR文件部署到其他环境中,我们可以使用"java -jar"命令来执行JAR文件。前提是确保目标环境安装了Java运行环境。 总之,通过使用Maven和配置相应的插件,我们可以很方便地将项目打包JAR文件,实现项目的发布和部署。 ### 回答2: 打包Jar文件是指将Java项目中的代码及其依赖的库文件打包成一个可执行的Jar包,方便部署和运行。而Maven是一个开源的项目管理工具,可用于管理Java项目的构建、依赖和文档等。 在使用Maven打包Jar文件的过程中,首先需要在项目的pom.xml文件中配置相应的插件和依赖。配置插件可以使用MavenJar插件,它可以将项目代码及其依赖打包成一个可执行的Jar文件。同时,需要配置Main-Class属性,指定入口类。 然后,在项目根目录下执行Maven打包命令,命令为mvn package。执行该命令后,Maven会根据pom.xml文件中的配置信息,将项目代码编译、打包,并将生成的Jar文件存放在target目录下。 通过以上步骤,就可以使用Maven将Java项目打包Jar文件了。将生成的Jar文件部署到其他环境时,只需将Jar文件拷贝到目标环境中,并运行java -jar命令即可。 使用Maven打包Jar文件的好处是,可以便捷地管理项目的依赖关系,Maven会自动下载和管理项目所需的依赖库;而打包Jar文件后,将项目及其依赖打包为一个文件,方便部署和运行,无需关心各个依赖的具体配置。 总之,通过使用MavenJar插件,可以方便地将Java项目打包Jar文件,便于项目的部署和运行

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值