spring boot maven构建及可执行jar包导出

本文介绍了一个使用Maven进行Java Web项目打包的具体配置方法,包括如何将依赖导出至lib文件夹,配置spring-boot-starter-parent及spring-boot-starter-web依赖,并设置maven-war-plugin和spring-boot-maven-plugin等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


主要maven配置:

1.在打包jar前执行:mvn dependency:copy-dependencies  -DoutputDirectory=lib,将依赖导出至lib包,便于jar包依赖

2.执行mvn clean package

 <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>1.4.2.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

<build>

        <plugins>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.xiaobai.training.Application</mainClass><!-- 入口程序 -->
                            <addClasspath>true</addClasspath><!-- 添加依赖jar路径 -->
                            <classpathPrefix>lib/</classpathPrefix>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <repositories>
        <repository>
            <id>spring-releases</id>
            <url>https://repo.spring.io/libs-release</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-releases</id>
            <url>https://repo.spring.io/libs-release</url>
        </pluginRepository>
    </pluginRepositories>


<think>好的,我现在需要帮助用户解决关于如何在IntelliJ IDEA 2023中导出可执行JAR的问题。首先,用户提到了参考的引用内容,其中提到了两种导出方式:extract和copy,以及相关教程的链接。我需要确认这些信息是否适用于2023版本,因为IDEA的界面可能会有变化。 首先,我应该回忆一下IDEA导出JAR的一般步骤。通常,这涉及到配置Artifacts,选择主类,处理依赖项等。用户提到的两种选项,“extract”和“copy”,可能是指如何处理依赖库。Extract可能会将依赖解压并合并到JAR中,而Copy可能将依赖的JAR文件复制到输出目录中的lib文件夹,并在清单文件中指定Class-Path。需要确认2023版本是否仍然使用这些术语,或者是否有变化。 接下来,我需要检查是否有新的方法或变化,比如使用Gradle或Maven插件来构建JAR,但用户可能希望使用IDEA自带的导出功能。另外,确保步骤详细,适合新手用户,括如何打开项目结构,找到Artifacts配置,选择模块和主类,处理依赖项,生成JAR文件,最后运行测试。 还需要注意用户提到的引用来源,引用[1]和[2]可能来自旧版本,但步骤可能仍然适用。需要验证这些步骤是否适用于2023版,或者是否有界面调整,比如菜单项的位置是否有变化。例如,在较新版本中,“Project Structure”可能仍然可以通过File菜单或快捷键(如Ctrl+Shift+Alt+S)打开。 另外,用户可能需要知道如何选择正确的模块,确保依赖项正确含,特别是当使用第三方库时,选择copy方式更可靠,避免类路径问题。还要提醒用户检查生成的MANIFEST.MF文件,确保主类正确,依赖路径正确。 最后,生成相关问题时要考虑用户可能遇到的后续问题,比如依赖处理、运行错误、打方式比较等。确保问题覆盖常见的使用场景,帮助用户深入理解。</think>以下是IntelliJ IDEA 2023导出可执行JAR的详细教程: ### 一、配置Artifacts 1. **打开项目设置** 顶部菜单栏选择 `File` → `Project Structure`(快捷键 `Ctrl+Shift+Alt+S`) 2. **新建Artifact配置** 左侧选择 `Artifacts` → 点击 `+` → 选择 `JAR` → `From modules with dependencies` 3. **选择主类和依赖处理方式** - 在 `Module` 选择需要打的模块 - 在 `Main Class` 指定程序入口(点击文件夹图标选择) - 在 `JAR files from libraries` 选择依赖处理方式: - **extract**:解压依赖到JAR内(适合无依赖冲突项目) - **copy**:保留依赖JAR文件到单独目录(推荐,避免类冲突)[^1] ### 二、生成JAR文件 1. **构建Artifact** 顶部菜单栏选择 `Build` → `Build Artifacts` 2. **选择执行操作** 在弹出的对话框中选择刚创建的Artifact → 点击 `Build` 3. **输出路径** 生成的JAR文件默认保存在 `项目目录/out/artifacts/` 下 ### 三、验证与运行 ```bash # 命令行运行(若选择copy方式需指定依赖路径) java -jar your_application.jar ``` 若出现 `ClassNotFoundException`,检查依赖是否完整打[^2] ### 四、补充说明 - 使用 **copy** 方式时,生成的`META-INF/MANIFEST.MF`会自动添加Class-Path声明 - 对于Spring Boot项目建议使用Maven/Gradle的spring-boot-maven-plugin打
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值