现在微服务是非常火爆的,整个开发没有使用到感觉都会被别人鄙视一样. 关于微服务的介绍以后有时间会出博客来记录在使用中的一些总结.
现在就maven在微服务中的一些插件的使用.
最常用的还是打包了 之前我们开发程序都是使用开发工具来导出可以运行的jar,然后在运行该jar.试想一下这个步骤还是很繁琐的,尤其是现在git的版本控制在现在得到了大量的使用.于是就有大神将maven的命令和git的命令绑定在一起可以发挥很大的威力.
闲话少说,以下就简单介绍下微服务基于maven的打包插件的配置
- spring-boot
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.3.2.RELEASE</version>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
- dropwizard
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<!-- compile for Java 1.7 -->
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.6</version>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>cn.gv.capture.CaptureApplication</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>