我正在构建一个新的微服务,其中必须使用第三方客户端库来解决地理位置问题。
我在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...类。

10-02 03:30