我正在构建一个新的微服务,其中必须使用第三方客户端库来解决地理位置问题。
我在pom文件中添加了该服务的依赖项
<groupId>abc.xyz.abc.geo</groupId>
<artifactId>MyGeoLocation</artifactId>
<version>1.5.0</version>
</dependency>
但是如何在新服务/应用程序中注入该服务的依赖关系?
最佳答案
根据dropwizard docs,您应该生成一个fat-jar。它们包括如何使用maven-shade
的示例
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</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>com.example.helloworld.HelloWorldApplication</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
记住要在项目的主类中更改该
com.example.helloworld...
类。