簡體   English   中英

Amdatu休息示例不起作用?

[英]Amdatu rest example doesn't work?

我已經使用amdatu-bootstrap jar文件創建了一個bnd-workspace。 然后創建一個測試其余項目和一個bnd運行描述符文件以對其進行測試。 當我運行運行描述符文件並導航到http:// localhost:8080 / test時 ,我遇到了404頁面:(。

HTTP ERROR: 404

Problem accessing /test. Reason:

    Not Found

這是我執行的詳細步驟:

  1. 下載並使用了bootstrap-bin-r9.zip
  2. 在Amdatu Bootstrap UI中,要初始化工作空間,我使用“ amdatu”模板發出了“ workspace-init”
  3. 然后我用“ project-create”命令創建了一個項目“ osgi.test”
  4. 然后,我使用“ rest-createcomponent”命令創建了一個以“ / test”作為URL的測試組件“ tmp.Test”
  5. 然后我使用“ rest-install”命令添加了其余必需的依賴項
  6. 然后,我使用org.apache.felix.framework; version ='[5.2.0,5.2.0]'和Java-1.8作為OSGI框架創建了launcher.bndrun。
  7. 然后我使用“ rest-run”命令將其余的必需庫添加到launcher.bndrun中
  8. 然后我用“ shell-run”命令添加了gogo和dm shell

測試組件:

package tmp;

import java.util.List;

import javax.ws.rs.Path;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import java.util.Arrays;
import org.apache.felix.dm.annotation.api.Component;

@Component(provides = Object.class)
@Path("/test")
public class Test {

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public List<String> list() {
        return Arrays.asList("test");
    }
}

這是捆綁包列表:

lb
START LEVEL 1
   ID|State      |Level|Name
    0|Active     |    0|System Bundle (5.2.0)
    1|Active     |    1|Apache Felix Http Jetty (3.2.0)
    2|Active     |    1|Apache Felix Http API (3.0.0)
    3|Active     |    1|Apache Felix Servlet API (1.1.2)
    4|Active     |    1|Apache Felix Http Whiteboard (3.0.0)
    5|Active     |    1|org.amdatu.web.rest.jaxrs (1.1.1)
    6|Active     |    1|org.amdatu.web.rest.wink (3.0.1)
    7|Active     |    1|org.amdatu.web.rest.doc (1.2.3)
    8|Active     |    1|Jackson-annotations (2.6.3)
    9|Active     |    1|Jackson-core (2.6.3)
   10|Active     |    1|jackson-databind (2.6.3)
   11|Active     |    1|Jackson-JAXRS-base (2.6.3)
   12|Active     |    1|Jackson-JAXRS-JSON (2.6.3)
   13|Active     |    1|Apache Felix Dependency Manager (4.3.0)
   14|Active     |    1|Apache Felix Dependency Manager Runtime (4.0.3)
   15|Active     |    1|Apache Felix Metatype Service (1.0.12)
   16|Active     |    1|Apache Felix EventAdmin (1.3.2)
   17|Active     |    1|Apache Felix Configuration Admin Service (1.8.6)
   18|Active     |    1|OPS4J Pax Logging - API (1.7.0)
   19|Active     |    1|OPS4J Pax Logging - Service (1.7.0)
   20|Active     |    1|osgi.test (0.0.0)
   21|Active     |    1|Apache Felix Gogo Command (0.12.0)
   22|Active     |    1|Apache Felix Gogo Runtime (0.10.0)
   23|Active     |    1|Apache Felix Gogo Shell (0.10.0)
   24|Active     |    1|Apache Felix Dependency Manager Shell (4.0.4)

這是“ dm”命令的結果

dm
[6] org.amdatu.web.rest.wink
 [0] org.amdatu.web.rest.jaxrs.JaxRsSpi registered
 [1] org.slf4j.impl.StaticLoggerBinder(OSGi) registered
    org.osgi.service.log.LogService service optional available
 [2] org.amdatu.web.rest.whiteboard.JaxRsWhiteboard registered
    active{bundle.id=6} bundle required available
    org.osgi.service.log.LogService service optional available
    javax.ws.rs.core.Application (osgi.jaxrs.application.base=*) service optional unavailable
    java.lang.Object (osgi.jaxrs.resource.base=*) service optional unavailable
 [3] Adapter for interface org.amdatu.web.rest.jaxrs.ApplicationService registered
    org.amdatu.web.rest.jaxrs.ApplicationService service optional unavailable
[14] org.apache.felix.dependencymanager.runtime
 [4] org.apache.felix.dm.runtime.DependencyManagerRuntime registered
    active (DependencyManager-Component=*) bundle optional unavailable
    org.osgi.service.packageadmin.PackageAdmin service required available
    org.osgi.service.log.LogService service optional available

當我導航到http:// localhost:8080 / test時,顯示以下錯誤

HTTP ERROR: 404

Problem accessing /test. Reason:

    Not Found

任何幫助表示贊賞。

將org.amdatu.web.rest.wink的版本更改為2.0.3將解決此問題。

我不知道3+版本有什么問題,為什么它只能在2.0.3版本上使用?

暫無
暫無

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

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