当前位置: 首页 > 知识库问答 >
问题:

将JHipster应用程序上载到Nexus存储库3不起作用

鄢博简
2023-03-14

当我试图通过Maven部署插件将JHipster应用程序部署到Nexus时,我得到以下错误。

无法执行目标组织。阿帕奇。专家插件:maven deploy插件:2.7:project profiletoolservice上的部署(默认部署):未能部署工件:无法传输工件io。众码。prf:profiletoolservice:war:1.0.0-20180209.081617-4从/到回购。众码。io(……存储库/快照/):无法传输文件:/repository/snapshots/io/crowdcode/prf/profiletoolservice/1.0.0-SNAPSHOT/profiletoolservice-1.0.0-20180209.081617-4。战争返回代码为:400,原因短语:检测到的内容类型[application/x-sh],但应为[application/java archive,application/x-tika-java-web-archive]:/profiletoolservice/1.0.0-SNAPSHOT/profiletoolservice-1.0.0-20180209.081617-4。战争

当我在本地主机上运行Nexus时,一切正常。

当我部署到代理存储库时,问题就出现了。

来自profiletoolservice-1.0.0-20180209.081617-4的hexdump。战争秀

00000000  23 21 2f 62 69 6e 2f 62  61 73 68 0a 23 0a 23 20  |#!/bin/bash.#.# |

00000010  20 20 20 2e 20 20 20 5f  5f 5f 5f 20 20 20 20 20  |   .   ____     |

共有2个答案

奚修伟
2023-03-14

Spring Boot Executable是由maven插件配置中的标记启用的。这使得将jar文件嵌入包装外壳脚本中的Spring Boot插件无法部署到nexus。由于这是mime类型的违规,只有天知道,为什么他们一直调用工件app.war而不是app.sh或其他什么。

            <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>${spring-boot.version}</version>
            <executions>
            .......
            </executions>
            <configuration>
                .......
                <executable>true</executable>
                .......
            </configuration>
        </plugin>

要解决问题,只需删除可执行标记。

钮巴英
2023-03-14

这很正常,JHipster将你的应用程序打包为Spring Boot可执行war,其中包括在归档文件的顶部放置一个shell脚本,因此Nexus认为你上传的是一个shell脚本,而不是war文件。在Nexus管理界面中更新存储库设置以允许它。

 类似资料:
  • 我有一个Jenkins项目,它执行gradle构建,并使用Jenkins上载工件到Nexus插件将构建工件上载到Nexus maven托管的存储库。当我使用Nexus2.13的时候,这个功能还不错--但是升级到Nexus3之后,上传到Nexus的功能就不再起作用了。我已经确保我已经配置了Nexus3存储库,就像我的Nexus2.13存储库一样。当我建立我的Jenkins项目时,我得到了一个响应 我

  • 我已经设置了一个sonatype Nexus 3.0.0-03。并尝试配置代理存储库。 问题: 无法访问创建的存储库。如果我只是打开存储库。 存储库概述中的状态为 我设置的存储库的类型和格式: 代理,NPM 代理,NuGet 代理,Maven 目标是代理远程Nexus npm存储库,并将其用作npm注册表。 其他信息: 我无法访问远程连接的设置,但据我所知,这甚至是不必要的。 可以使用npm访问远

  • 是否可以在Nexus OSS3中导入zip文件作为Maven存储库?有一个关于迁移的文档部分(https://books.sonatype.com/nexus-book/reference/migrating.html),但它似乎不适用于Nexus3,因为blob存储是一个blob...在Artifactory上,这就像将zip文件上传到现有的repo一样容易。我认为这可以通过脚本来完成,但我想知

  • 尝试将 Nexus 3.15.2 用作本地/离线包管理器。Npm 和 Maven 存储库是可以的。但是,也想用作APT存储库。它具有 yum 存储库功能,但没有 apt 存储库类型。尝试按照这些说明将 nexus-repository-apt 插件与 docker 容器一起使用 https://github.com/sonatype-nexus-community/nexus-repository

  • 如果我试图使用命令上传一个jar 但我在Nexus Repository Manager OSS中找不到这个选项卡。这应该在tab摘要之后,但它不在那里。

  • 我正在考虑从Blobstore切换到Google云存储,以便在项目中上传图像(因为Google称Blobstore为“被取代”)。 在Blobstore中,多部分表单将直接提交(上传)到Blobstore,然后Blobstore将重写请求并重定向到GAE应用程序,以处理BlobKey。这意味着GAE应用程序的负载非常小。 有没有办法通过谷歌云存储(GCS)实现类似的工作流? 在读取和写入Googl