mavne
打jar包
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<!--这部分可有可无,加上的话则直接生成可运行jar包-->
<!--<archive>-->
<!--<manifest>-->
<!--<mainClass>${exec.mainClass}</mainClass>-->
<!--</manifest>-->
<!--</archive>-->
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
<!--在当前项目下执行mvn assembly:assembly-->
<!--1、打成没有主类的jar包 运行方式 java -cp xxx-jar-with-dependencies.jar com.bao.lei
2、打成含有主类的jar包(<mainClass>com.bao.lei</mainClass>) 运行方式 java -jar xxx-jar-with-dependencies.jar-->
可运行jar包
maven默认打包生成的jar是不能够直接运行的,因为在jar文件的META-INF/MANIFEST.MF文中没有Main-Class一行,为了生成可执行的jar文件,需要借助maven的插件,maven-shade-plugin,配置该插件如下:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<exec.mainClass>study20161230.Test</exec.mainClass>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>${exec.mainClass}</mainClass>
</transformer>
</transformers>
<artifactSet>
</artifactSet>
<!--<outputFile>${project.build.directory}/${project.artifactId}-${project.version}-fat.jar</outputFile>-->
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
安装jar包到本地仓库
mvn install:install-file -Dfile=***.jar -DgroupId=*** -DartifactId=*** -Dversion=1..0.0 -Dpackaging=jar
并行测试
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<parallel>classesAndMethods</parallel>#并行跑类和方法
<threadCountClasses>2</threadCountClasses>#类并行数
<threadCountMethods>7</threadCountMethods>#方法并行数,这种设置类和方法同时并行处理,即A类9个方法,B类9个方法,运行时先跑A1-7,再跑A8-9 B1-5,再跑B6-9
<perCoreThreadCount>false</perCoreThreadCount>#是否使用CPU核心数并行运行测试
<argLine>-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m
-Dfile.encoding=UTF-8
</argLine>
</configuration>
</plugin>
</plugins>