簡體   English   中英

獲取java.lang.NoClassDefFoundError:javax / ws / rs /當依賴在buiild.sbt時的路徑

[英]Getting java.lang.NoClassDefFoundError: javax/ws/rs/Path when dependency is in buiild.sbt

我在build.sbt中有以下設置:

lazy val proj = (project in file("."))
  .settings(
    name := "Proj",
    resolvers += Resolver.mavenLocal,
    libraryDependencies += "javax.ws.rs" % "javax.ws.rs-api" % "2.1" artifacts( Artifact("javax.ws.rs-api", "", "jar")), // for rescu
    libraryDependencies += "com.github.mmazi" % "rescu" % "2.0.2",
  )

但是sbt run給出了這個錯誤:

[error] java.lang.NoClassDefFoundError: javax/ws/rs/Path
[error]     at si.mazi.rescu.RestInvocationHandler.<init>(RestInvocationHandler.java:61)

存檔中存在Path類:

$ jar -tvf /home/user/.m2/repository/javax/ws/rs/javax.ws.rs-api/2.1/javax.ws.rs-api-2.1.jar | grep Path
   ...
   456 Fri Aug 04 15:17:40 MSK 2017 javax/ws/rs/Path.class

rs api以這種hacky方式添加,因為否則它拒絕插入,但現在它似乎插入,但我不知道什么可能是錯的

通過反復試驗,我最終得到了以下一組解決了這個問題的依賴項:

libraryDependencies += "javax.ws.rs" % "javax.ws.rs-api" % "2.1" artifacts( Artifact("javax.ws.rs-api", "", "jar") ),
libraryDependencies += "javax.ws.rs" % "jsr311-api" % "1.1.1",
libraryDependencies += "org.apache.cxf" % "cxf-rt-frontend-jaxrs" % "3.3.1",
libraryDependencies += "com.github.mmazi" % "rescu" % "2.0.2",

暫無
暫無

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

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