Получение java.lang.NoClassDefFoundError: javax / ws / rs / Path, когда зависимость находится в buiild.sbt - PullRequest
0 голосов
/ 02 мая 2019

У меня есть следующие настройки в 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 добавлен таким хакерским способом, потому что в противном случае он отказался подключить, но теперь, кажется, подключить, но я понятия не имею, что может быть не так

1 Ответ

0 голосов
/ 06 мая 2019

Методом проб и ошибок я получил следующий набор зависимостей, которые решили эту проблему:

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",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...