2016-12-07 5 views
0

Я после книги 'Gradle в действии' странице 67 попытке вызова:TaskExecutionException для Gradle jettyRun

$ gradle jettyRun 

... 
* What went wrong: 
Execution failed for task ':jettyRun'. 
> org/eclipse/jetty/http/HttpField 
... 

С --stacktrace вариант я получить следующее сообщение:

... 
* Exception is: 
org.gradle.api.tasks.TaskExecutionException:Execution failed for task ':jettyRun' 
... 
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.http.HttpField 
... 

Мой проект todo-webapp согласно странице книги 67:

$ tree 
├── build.gradle 
├── src 
│   └── main 
│    ├── java 
│    │   └── com 
│    │    └── manning 
│    │     └── gia 
│    │      └── todo 
│    │       ├── model 
│    │       │   └── ToDoItem.java 
│    │       ├── repository 
│    │       │   ├── InMemoryToDoRepository.java 
│    │       │   └── ToDoRepository.java 
│    │       └── web 
│    │        └── ToDoServlet.java 
│    └── webapp 
│     ├── css 
│     │   ├── base.css 
│     │   └── bg.png 
│     ├── jsp 
│     │   ├── index.jsp 
│     │   └── todo-list.jsp 
│     └── WEB-INF 
│      └── web.xml 

и мой файл сборки, как следующим образом:

$ cat build.gradle 

apply plugin: 'java' 
apply plugin: 'war' 
apply plugin: 'jetty' 

repositories { 
    mavenCentral() 
} 
dependencies { 
    providedCompile 'javax.servlet:servlet-api:2.5', 
      'javax.servlet.jsp:jsp-api:2.1' 
    runtime 'javax.servlet:jstl:1.1.2', 
      'taglibs:standard:1.1.2' 
} 

следующих различные темы онлайн Я пытался добавить зависимость в мой файл сборка, такие как:

jettyRun { 
    dependencies { 
    providedRuntime 'org.eclipse.jetty:jetty-http:9.4.0.RC0' 
    } 
} 

или действительно добавить банку непосредственно /usr/share/java/jetty9-http с runtime files(...). Ничего из этого не сработало. Я не слишком уверен, что попробовать дальше. Любое предложение очень ценится.

EDIT: Как указано вампиром, все, что я должен был сделать, это удалить apply plugin: 'jetty' и вместо того, чтобы после линии apply plugin: 'war', добавьте строку:

apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin' 

Затем использовать gradle appRun вместо gradle jettyRun. Все это происходит со страницы Getting started плагина gretty.

+0

Привет, Свен, у меня есть динамический веб-проект EE, и я хочу использовать плагин gretty. Когда я запускаю gradle appRun, я получаю сообщение об ошибке: org.eclipse.jetty.util.MultiException: Несколько исключений на org.eclipse.jetty.annotations.AnnotationConfiguration.scanForAnnotations (AnnotationConfiguration.java:537) ~ [jetty-annotations- 9.2.22.v20170606.jar: 9.2.22.v20170606] Вы можете мне помочь? – Diabolus

ответ