簡體   English   中英

Spring Boot requiresUnpack 在運行時不打包

[英]Spring Boot requiresUnpack is not upacking at runtime

我正在通過 spring-boot maven 插件構建一個可執行的 jar。 我需要解壓依賴的 jar 包之一,以便在運行時可以正確讀取 xml 文件。 我遵循了有關解壓縮庫的文檔。 我的插件配置如下:

        <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <requiresUnpack>
                    <dependency>
                        <groupId>com.deep6analytics.pipeline</groupId>
                        <artifactId>pipeline-services-ctakes</artifactId>
                    </dependency>
                </requiresUnpack>
            </configuration>
        </plugin>
    </plugins>

我檢查了 jar 的內容,並驗證了 jar 中編碼的解包信息:

$ zipnote target/pipeline-apps-annotation-server-1.0-SNAPSHOT.jar | grep -C 1 UNPACK
@ BOOT-INF/lib/pipeline-services-ctakes-1.0-SNAPSHOT.jar
UNPACK:1e6eda0ca9f1b740c4aba6058cac74a5084f1706
@ (comment above this line)

根據文檔,在運行時,我希望在 $TMPDIR 中看到一個“spring-boot-libs”目錄:

將每個庫指定為帶有 <groupId> 和 <artifactId> 的 <dependency>,它們將在運行時在 $TMPDIR/spring-boot-libs 中解壓。

但是,當我運行應用程序時,我檢查了 $TMPDIR 並且沒有看到解壓后的目錄。 結果,我的應用程序無法啟動:

ls -la $TMPDIR

drwxr-xr-x    3  staff      102 Aug 10 23:40 pipeline-apps-annotation-server-1.0-SNAPSHOT.jar-spring-boot-libs-96fe7360-b23b-4caa-a2ce-75aa0300a417
drwxr-xr-x    3  staff      102 Aug 10 23:27 pipeline-apps-annotation-server-1.0-SNAPSHOT.jar-spring-boot-libs-a06a2373-0694-42e9-bee1-29191b3b764a
drwxr-xr-x    4  staff      136 Aug 10 20:54 sp_update
drwx------    2  staff       68 Aug 10 11:30 ssh-azEJDYkZH6ho
drwxr-xr-x    3  staff      102 Aug 10 15:05 tomcat.104726406473930572.8085
drwxr-xr-x    3  staff      102 Aug 10 23:38 tomcat.1527552147767629466.8080
drwxr-xr-x    3  staff      102 Aug 10 23:13 tomcat.1546871599966723864.8080

有沒有人看到我做錯了什么,或者我誤解了什么?

文檔有點誤導。 解壓后的目錄如下:

drwxr-xr-x    3  staff      102 Aug 10 23:40 pipeline-apps-annotation-server-1.0-SNAPSHOT.jar-spring-boot-libs-96fe7360-b23b-4caa-a2ce-75aa0300a417
drwxr-xr-x    3  staff      102 Aug 10 23:27 pipeline-apps-annotation-server-1.0-SNAPSHOT.jar-spring-boot-libs-a06a2373-0694-42e9-bee1-29191b3b764a

這些目錄應該包含您標記為需要從可執行 jar 中解壓的 jars 文件。

我已經打開了一個問題來更正文檔。

在 linux 上,它只是 /tmp 文件夾。 這個變量:$TMPDIR 對我不起作用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM