2016-04-11 8 views
0

Ich habe meine build.gradle Datei eingerichtet und mein Projekt funktioniert bisher gut. Das Problem ist jetzt, wenn ich ./gradlew Lauf laufen, ist es mit dem Fehler fehlschlägt:./gradlew run BUILD FAILED

What went wrong: Execution failed for task ':run'. Process 'command '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished with non-zero exit value 1

./gradlew build BUILD SUCCESSFULLY, Any clue as to why, Have also tried to check previous thread but all to no avail.Below is my gradle.build file:

apply plugin: 'java' 
apply plugin: 'eclipse' 
apply plugin: 'application' 

mainClassName = 'src.main.java.Functional.TestRun' 

repositories { 
mavenCentral() 
} 
sourceSets { 
selenium 
} 

jar { 
baseName = 'gs-gradle' 
version = '0.1.0' 
manifest { 
    attributes 'Main-Class': 'main.java.Functional.TestRun' 
    } 
} 
compileJava { 
sourceCompatibility = 1.7 
targetCompatibility = 1.7 
} 

dependencies { 
seleniumCompile 'junit:junit:4.11' 
seleniumCompile 'org.seleniumhq.selenium:selenium-java:2.45.0' 
seleniumCompile 'org.seleniumhq.selenium:selenium-server:2.45.0'  
compile fileTree(dir: 'libraries', include: '*.jar') 
} 
task jettyDaemon(type: org.gradle.api.plugins.jetty.JettyRun) { 
daemon = true 
} 
task selenium(type: Test, dependsOn: jettyDaemon) { 
testClassesDir = sourceSets.selenium.output.classesDir 
classpath = sourceSets.selenium.runtimeClasspath 
} 
eclipse { 
classpath { 
    plusConfigurations += configurations.seleniumCompile 
} 
} 
task wrapper(type: Wrapper) { 
gradleVersion = '2.3' 
} 

ERROR:

[email protected]:~/workspace/mainsite_automation$ ./gradlew run 
:compileJava UP-TO-DATE 
:processResources UP-TO-DATE 
:classes UP-TO-DATE 
:run 
Error: Could not find or load main class src.main.java.Functional.TestRun 
:run FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':run'. 
> Process 'command '/usr/lib/jvm/java-7-openjdk-amd64/bin/java'' finished   
with non-zero exit value 1 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --  
debug option to get more log output. 

BUILD FAILED 

Total time: 2.185 secs 
+1

Der Schlüssel ist in diesem: "Konnte Hauptklasse src.main.java.Functional.TestRun nicht finden oder laden". Etwas stimmt nicht mit dem Klassenpfad? Die Testklassen fehlen? – diidu

Antwort

2

ersetzen mainClassName = 'src.main.java.Functional.TestRun' in Ihrem build.gradle von mainClassName = Functional.TestRun'. Sie sollten auch Ihren Manifest-Eintrag korrigieren.

+0

Danke für Ihre Hilfe. Habe die Änderungen gemacht, aber immer noch denselben Fehler bekommen. meinst du das mit dem Manifest-Eintrag? 'jar { manifest { Attribute 'Hauptklasse': 'main.java.Functional.Test_Run' } }' richtig? ...... Es funktioniert jetzt ... Tanx – Joe

+0

..... Also die Art, wie ich meinen Test geschrieben habe, ist, dass ich den Testfall spezifiziere. Wenn ich also einen Testfall ausführen möchte, muss ich den Test im Code ändern. Hoffe das ist in Ordnung für jetzt? Oder gibt es eine andere Möglichkeit, alle Testfälle auf einmal auszuführen, ohne zu meinem Code gehen zu müssen? – Joe

+1

Nun, zwei Dinge. ** 1. ** Ich meinte, du solltest deine Manifest-Definition auch in ''Functional.Test_Run'' ändern, aber ich denke du kannst es vielleicht sogar ganz weglassen, ich denke es sollte auch den' mainClassName' automatisch übernehmen. ** 2. ** Normalerweise führen Sie keine Tests mit der 'run'-Task aus, sondern mit der 'test'-Task, die automatisch alle Ihre Tests ausführt, wenn es sich um JUnit-Tests handelt und Sie diese in' main/test/java/'haben und Sie können sogar die Testaufgabe als Parameter angeben, die getestet wird, wenn nur ein Test ausgeführt werden soll. Wenn es sich bei Ihren Tests um normal ausführbare Klassen handelt, können Sie ... – Vampire

Verwandte Themen