首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过午睡在Nexus2 (2.13.0-01)插件中创建REST端点?

如何通过午睡在Nexus2 (2.13.0-01)插件中创建REST端点?
EN

Stack Overflow用户
提问于 2018-01-30 07:49:49
回答 1查看 174关注 0票数 0

我尝试使用以下类为Nexus2插件创建REST端点:

代码语言:javascript
复制
@Path(NexusPlugin.URI)
@Named
@Singleton
public class NexusPlugin extends ComponentSupport implements Resource {

  public static final String URI ="/nexusplugin";

  @GET
  @Produces(MediaType.TEXT_PLAIN)
      public Response get(){
        return Response.ok("Config Updated").build();
    }
}

根据我的理解,实现Resource接口应该足够了,Nexus/siesta应该实例化该类并创建Resource。我不使用任何web.xml,目前也不单独实例化该类。

该代码基于Nexus2 测井插件的代码,该代码还提供了REST端点,我可能遗漏了一些东西。

午睡总是以错误的形式返回:

代码语言:javascript
复制
{
"id": "ae015d47-5968-4cb6-88c3-d5615c677c0c",
"message": "No resource available at 'nexusplugin'"
}

Nexus2日志显示以下错误:

代码语言:javascript
复制
 admin org.sonatype.sisu.siesta.server.internal.SiestaServlet - Processing: GET /nexus/service/siesta/nexusplugin (http://localhost:8081/nexus/service/siesta/nexusplugin)
 2018-01-30 08:40:47,816+0100 DEBUG [esh-1-thread-5] admin org.sonatype.nexus.feeds.record.NexusAuthenticationEventInspector - Successfully authenticated user [admin] from IP address 127.0.0.1
 2018-01-30 08:40:47,816+0100 DEBUG [qtp491414393-52] admin org.sonatype.sisu.siesta.server.internal.mappers.WebApplicationExceptionMapper - (ID e92c848c-d603-4541-bb0c-ddd60fddb5e4) Mapping exception: com.sun.jersey.api.NotFoundException: null for uri: http://localhost:8081/nexus/service/siesta/nexusplugin
 2018-01-30 08:40:47,820+0100 WARN  [qtp491414393-52] admin org.sonatype.sisu.siesta.server.internal.mappers.WebApplicationExceptionMapper - (ID e92c848c-d603-4541-bb0c-ddd60fddb5e4) Response: [404] ErrorXO{id='e92c848c-d603-4541-bb0c-ddd60fddb5e4', message='No resource available at 'nexusplugin''} mapped from com.sun.jersey.api.NotFoundException/null for uri: http://localhost:8081/nexus/service/siesta/nexusplugin
 com.sun.jersey.api.NotFoundException: null for uri: http://localhost:8081/nexus/service/siesta/nexusplugin

但是,这并不是很有帮助,因为错误是在任意的url上引发的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-02 08:49:28

如果问题最终得到解决。pom.xml中午睡插件的依赖性需要以下附加行:

代码语言:javascript
复制
<type>${nexus-plugin.type}</type>

所以看起来是这样的:

代码语言:javascript
复制
<dependency>
        <groupId>org.sonatype.nexus.plugins</groupId>
        <artifactId>nexus-siesta-plugin</artifactId>
        <version>2.13.0-01</version>
        <type>${nexus-plugin.type}</type>
        <scope>provided</scope>
</dependency>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48516400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档