maven插件大全

    xiaoxiao2021-03-25  95

    1.打jar包所需插件

    <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.2</version> <configuration> <archive> <manifest> <!--jar的入口函数--> <mainClass>com.jg.App</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef> jar-with-dependencies </descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins>

    注意插件中要写明main方法文件入口位置。 2、通过命令行到工作空间的项目路径下,比如:D:\workspace\test(工作空间是workspace,项目是test),然后执行以下命令: mvn assembly:assembly  注意:在执行这个命令之前,必须先配置Maven的环境变量,检查是否配置可通过命令:  mvn -version 3、如果上面的命令成功执行,那么在项目路径的target文件下就会有两个jar文件,一个是有jar包依赖的,一个是没jar包依赖的。 4、执行jar包,通过命令:  java -jar xxx.jar  执行。

    方法二: 使用插件maven-shade-plugin可以方便的将项目已jar包的方式导出,插件的好处在于它会把项目所依赖的其他jar包都封装起来,这种jar包放在任何JVM上都可以直接运行   使用步骤 : 将插件添加到pom.xml中,需要改的地方就是mainClass,在这里指定main方法的位置 使用mvn package打包,最后到projectName/target/下查找目标jar包

    <!--插件在仓库里的group ID--> <groupId>org.apache.maven.plugins</groupId> <!--插件在仓库里的artifact ID--> <artifactId>maven-shade-plugin</artifactId> <!--被使用的插件的版本(或版本范围)--> <version>1.4</version> <!--在构建生命周期中执行一组目标的配置。每个目标可能有不同的配置。--> <executions> <!--execution元素包含了插件执行需要的信息--> <execution> <!--绑定了目标的构建生命周期阶段,如果省略,目标会被绑定到源数据里配置的默认阶段--> <phase>package</phase> <!--配置的执行目标--> <goals> <goal>shade</goal> </goals> <!-- 指定插件配置 --> <configuration> <finalName>${package.name}</finalName> <!--被编译过的应用程序class文件存放的目录。--> <outputDirectory>${output.dir}</outputDirectory> <!-- 需要过滤的文件防止和其他包文件重复 --> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.handlers</resource> </transformer> <!-- 程序的入口 --> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.jg.hbase-api.Main</mainClass> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.schemas</resource> </transformer> </transformers> </configuration> </execution> </executions> </plugin> 2.打war包 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1.1</version> <configuration> <webResources> <resource> <directory>src/main/webapp</directory> <excludes> <exclude>**/*.jpg</exclude> </excludes> </resource> </webResources> </configuration> </plugin> 3.指定jdk版本与字符集 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>utf-8</encoding> </configuration> </plugin> 4. 打包时跳过单元测试 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skip>true</skip> </configuration> </plugin> 5.maven-resource-plugin 置资源文件的编码方式 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <phase>compile</phase> </execution> </executions> <configuration> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> 6.普通打包 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <finalName>${package.name}</finalName> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>${bootstrap.class}</mainClass> <classpathPrefix>dependency-jars/</classpathPrefix> </manifest> </archive> </configuration> </plugin> 7.打包配置文件 <!-- 打包配置文件 --> <sourceDirectory>src/main/java</sourceDirectory> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.*</include> </includes> </resource> </resources>

    转载请注明原文地址: https://ju.6miu.com/read-10894.html

    最新回复(0)