Spring Boot执行Maven存储库

时间:2018-11-22 08:12:35

标签: spring maven spring-boot

我有一个可执行的jar文件。我可以使用命令java ${JAVA_OPTS} -jar正确启动它。 我将其部署到内部Maven存储库中,并将其作为依赖项包含在Spring Boot应用程序中。我如何将依赖项作为jar文件执行?我想创建计划以每天执行。

1 个答案:

答案 0 :(得分:0)

可能的选项之一是通过maven插件解压缩jar,更新spring-boot-maven-plugin中的主类并执行如下所述的命令:

打开罐子包装:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.2</version>
    <executions>
        <execution>
            <id>unpack</id>
            <phase>compile</phase>
            <goals>
                <goal>unpack</goal>
            </goals>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>com.group</groupId>
                        <artifactId>artifact</artifactId>
                        <version>0.0.1</version>
                        <type>jar</type>
                        <overWrite>true</overWrite>
                        <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                    </artifactItem>
                </artifactItems>
            </configuration>
        </execution>
    </executions>
</plugin>

更新pom.xml中的主类(在spring-boot-maven-plugin中的标签下方添加):因为您可能在最终的jar中有多个主类。

<configuration><mainClass>any of the main class here</mainClass></configuration>

调用主类

java -cp final.jar -Dloader.main=<fullyqualifed_mainclass> org.springframework.boot.loader.PropertiesLauncher

这样,您可以从最终jar中调用任何主类。