run intellij idea debug create configurar application java intellij-idea gradle

java - idea - intellij gradle wrapper



IntelliJ no puede ejecutar el proyecto gradle debido a la clase faltante (3)

Encontré el mismo error en un proyecto de Java con múltiples subproyectos en IntelliJ 14.

Actualizando a 15.0.1, actualizando los proyectos de Gradle a través de Views → Tool Windows → Gradle en IntelliJ y reiniciando corrigió el problema.

Solo le di una oportunidad a IntelliJ , porque Eclipse me molestaba de nuevo. Importé mi proyecto gradle (embarcadero, vaadin) y funcionó sin problemas. Pero cuando traté de ejecutarlo encontré el siguiente mensaje de error durante "make":

Error: gradle-resources-test: vaadinsharedwidgets: java.lang.NoClassDefFoundError: org / apache / tools / ant / util / ReaderInputStream

"vaadinsharedwidgets" es un módulo del proyecto. Por lo que entiendo del error, IntelliJ no encuentra hormiga, pero esto es porque no uso hormiga. Tampoco forma parte de las dependencias transitivas. El mismo proyecto se ejecuta en eclipse fino y también construirlo en gradle funciona sin ningún problema.

Actualización: Acabo de registrar Eclipse y de alguna manera el ant.jar está en el classpath en Eclipse pero no puedo vincularlo a ningún proyecto. Me pregunto cómo llegó allí.

Actualización2: información de la versión faltante:

  • IntelliJ: v14.0.1 CE (sin complementos)
  • Gradle: 2.2 (usado a través de la envoltura)
  • Java 8 (1.8.0 b05)
  • Vaadin 7.3.4

build.gradle :

apply from: ''http://nexus/gradle/vaadin.gradle'' apply from: ''http://nexus/gradle/java8.gradle'' version = ''1.1'' description = "Gemeinsame Vaadin-Widgets" vaadin.widgetset ''net.xyz.vaadinsharedwidgets.VaadinsharedWidgetsWidgetset'' dependencies { compile project('':ibhtheme'') compile ''com.vaadin:vaadin-server:'' + vaadin.version compile ''com.vaadin:vaadin-client:'' + vaadin.version } jar{ // Include source in jar from sourceSets.main.allJava } sourceSets.main.resources.srcDir ''src/main/webapp''

vaadin.gradle:

apply from: ''http://plugins.jasoft.fi/vaadin.plugin?version=0.9.2'' configurations { def conf = ''vaadin-client'' def sources = project.sourceSets.main def testSources = project.sourceSets.test if (!project.configurations.hasProperty(conf)) { project.configurations.create(conf) sources.compileClasspath += project.configurations[conf] testSources.compileClasspath += project.configurations[conf] testSources.runtimeClasspath += project.configurations[conf] project.configurations[conf].exclude group: ''org.eclipse.jetty'' } } vaadin { version ''7.3.4'' push true }

java8.gradle:

apply plugin: ''java'' sourceCompatibility = 1.8 targetCompatibility = 1.8 group = ''net.xyz'' dependencies { compile ''org.slf4j:slf4j-api:1.7.5'' compile ''com.google.guava:guava:16.0.1'' compile ''org.springframework:spring-context:4.0.3.RELEASE'' testCompile ''org.testng:testng:6.8.7'' testCompile ''org.mockito:mockito-all:1.9.5'' testCompile ''org.easytesting:fest-assert-core:2.0M10'' testCompile ''org.springframework:spring-test:4.0.3.RELEASE'' }

Agregar ant como una dependencia adicional al módulo no funciona.


Después de algunos retoques e intentos y errores, descubrí que el siguiente código en vaadin.gradle era el culpable y lo eliminé:

configurations { def conf = ''vaadin-client'' def sources = project.sourceSets.main def testSources = project.sourceSets.test if (!project.configurations.hasProperty(conf)) { project.configurations.create(conf) sources.compileClasspath += project.configurations[conf] testSources.compileClasspath += project.configurations[conf] testSources.runtimeClasspath += project.configurations[conf] project.configurations[conf].exclude group: ''org.eclipse.jetty'' } }

Era parte de un hack obsoleto usar jetty9 en lugar de jetty8, que era utilizado por versiones anteriores del complemento vaadin-gradle. La versión actual usa 9.2.2 que parece estar bien.


Elija File → Invalidate Caches / Restart en el menú y seleccione Invalidate and Restart . Eso solucionó el problema para mí.