Maven插件技术

◆Maven插件为构建项目提供了功能扩展的能力 ◆maven-assembly-plugin是Maven打包插件,用于构建FatJar ◆FatJar是指将所有依赖包装为独立可运行的FatJar

我们开发的项目需要依赖大量的第三方Jar包,不利于维护项目 FatJar技术将所有第三方依赖以及字节码文件打包成一个可运行Jar包文件 用于脱离开发环境进行独立运行

连接mysql的jar包—mysql connector java 使用package打包的jar无法独立运行,在cmd运行java -jar jar包名,报错无法运行,所以需要使用FatJar技术

在pom.xml新增build标签:

<build>
<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.5.5</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.imooc.maven.jdbc.JdbcSample</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <!-- all in one , 在打包时会将所有引用的jar合并到输出的jar文件中 -->
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>

如果下载失败,添加阿里云镜像:

<pluginRepositories>
        <pluginRepository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </pluginRepository>
    </pluginRepositories>

在Java文件中,不知道哪一个java类是入口类,所以还要在pom.xml中设置入口类 添加<configuration>标签 然后添加FatJar,使用<descriptorRefs>标签 最后在右侧栏的Maven中找到项目,点击插件,进行运行

在浏览器解压FatJar包,看到依赖的jar包都已经解压然后和项目一起整合成一个大的Jar包 cmd运行成功: