# Gradle in Netbeans ... wie?



## White_Fox (11. Sep 2019)

Guten Abend

Als hätte man nicht genug zu tun, muß ich mich jetzt auch noch mit Gradle befassen. Jetzt ackere ich dieses Tutorial durch:





						Gradle - Build Script
					

Gradle - Build Script,  Gradle builds a script file for handling two things; one is projects and other is tasks. Every Gradle build represents one or more projects.




					www.tutorialspoint.com
				




Ich arbeite hier mit Nebeans, Gradle-PlugIn ist installiert und scheint zu laufen. Zumindest kann ich Gradle-Projekte, die ich heruntergeladen habe, öffnen und bauen. Aus diesem Grund hab ich erstmal KEINE weitere Software installiert, wie am Anfang des Tutorials beschrieben.

Nun die Frage: Wie kann ich in Netbeans die Gradle.Build-Datei ausführen? Ich arbeite unter Windows, da ist Konsole verpönt (obwohl es neben der cmd auch die Powershell gibt), und ich finde in Netbeans sonst nur eines, das nach Konsole richt. Das, was dann kommt, scheint jedoch cygwin zu sein (und daß wiederum erscheint mir eher zufällig, ich wüßte allerdings auch nicht daß ich das jemals irgendwas in der Art eingestellt habe). Die Kommandos funktionieren darin jedenfalls nicht.

Frage: Gibt es eine Möglichkeit, das Script unter Netbeans auch ohne Konsole auszuführen, oder ist eine weitere Konsole zwingend erforderlich? (Ich würde gerne darauf verzichten, wenn möglich.)


----------



## mihe7 (11. Sep 2019)

White_Fox hat gesagt.:


> Wie kann ich in Netbeans die Gradle.Build-Datei ausführen?


----------



## White_Fox (2. Okt 2019)

Verstehe ich das richtig? Das Netbeans-Plugin übernimmt notwendige Eintragungen schon von selbst? So viel muß ich da nicht mehr rumfummeln?

Eine Frage noch: Wie verwaltet Gradle eigentlich die Abhängigkeiten: Legt es z.B. von Bibliotheken (egal ob ob die lokal oder im Netz rumliegen) eine Kopie anl? Wenn ich mir das Tutorial so ansehe: Kann ich überhapt lokale Bibliotheken in Gradle aufnehmen? Irgendwie sehe ich da nur Repositories. Mit URL.

Nachschlag:
https://stackoverflow.com/questions...ocal-jar-file-dependency-to-build-gradle-file , Post 28:
Ist `"$rootProject.projectDir/libs"` sowas wie eine globale Variable, der Pfad, unter dem die IDE alle Bibliotheken verortet?


----------



## mihe7 (2. Okt 2019)

Was NetBeans betrift: keine Ahnung, ich verwende Gradle nur gezwungenermaßen unter Android Studio  Müsste ich also erst ausprobieren.



White_Fox hat gesagt.:


> Wie verwaltet Gradle eigentlich die Abhängigkeiten: Legt es z.B. von Bibliotheken (egal ob ob die lokal oder im Netz rumliegen) eine Kopie anl?


Bei mir gibt es ein Verzeichnis .gradle, in dem sich die JARs befinden.



White_Fox hat gesagt.:


> Kann ich überhapt lokale Bibliotheken in Gradle aufnehmen? Irgendwie sehe ich da nur Repositories. Mit URL.
> 
> 
> 
> ...




```
repositories {
   flatDir {
       dirs 'libs'
   }
}
```

Man kann so etwas wohl auch direkt unter den Dependencies angeben:

implementation fileTree(include: ['*.jar'], dir: 'lib') 

Ob das "NetBeans konform" ist... siehe oben.


----------



## White_Fox (2. Okt 2019)

Hm...ich schau mir das mal an.

Ich würde es gerne vermeiden, irgendwelche "lokalen Rechnerdetails" wie Dateipfade zu veröffentlichen. Allzumal damit eh niemand was anfangen könnte, außer er verschafft sich Zugang auf meine Festplatte.

Edit:
Ha, ist ja der selbe Link. Aber die Antwort verstehe ich nicht ganz: So wie ich das lese, soll ich in (welcher?) Gradle-Datei was eintragen. Mal davon abgesehen wo diese Datei sein soll: wird das nicht mit dem nächsten Update wieder überschrieben?


----------



## mihe7 (2. Okt 2019)

Das oben sind relative Pfade zum Projekt


----------



## White_Fox (2. Okt 2019)

Ah...aber wie wird das denn gebaut, wenn ich das Gradleprojekt verteile: den lokalen Pfad gibt es dann ja nicht mehr. Legt Gradle dann automatisch eine Kopie im Projekt an?


----------



## mihe7 (2. Okt 2019)

Ich glaube, wir schreiben aneinander vorbei. Der Mechanismus greift, wenn Du lokal eine JAR hast. Dann klopfst Du dieses in das libs-Verzeichnis und nimmst dieses in den build hinein. Läuft also ohne Repository und die JAR musst Du natürlich weitergeben - EDIT: ist dann ja auch Teil des Projektverzeichnisbaums. (Achtung: meine Aussagen bzgl. Gradle sind mit Vorsicht zu genießen)


----------



## White_Fox (2. Okt 2019)

Hm...grml...weiß jemand Rat?

Im build.gradle-file funktioniert das hier mit jitpack wunderbar:

```
compile 'com.github.controlsfx:controlsfx:master-SNAPSHOT'
testCompile 'com.github.controlsfx:controlsfx:master-SNAPSHOT'
```

Das hier jedoch nicht:

```
compile 'com.github.mariuszgromada:MathParser.org-mXparser:master-SNAPSHOT'
testCompile 'com.github.mariuszgromada:MathParser.org-mXparser:master-SNAPSHOT'
```

Weiß jemand warum? Und weiß jemand wie ich das geradebiegen bzw. das mXparser-Repository in Gradle reingestopft kriege?


----------



## mihe7 (2. Okt 2019)

Kann man in Gradle direkt github Repositories verwenden?   

Kannst Du nicht die Version aus Maven Central oder https://jitpack.io/p/mariuszgromada/mXparser verwenden?


----------



## White_Fox (2. Okt 2019)

mihe7 hat gesagt.:


> Kann man in Gradle direkt github Repositories verwenden?


Ja...mit JitPack geht das. Bzw., mit JitPack soll das gehen. Bzw., es funktioniert zumindest mit ControlsFX.





						JitPack | Publish JVM and Android libraries
					

JitPack makes it easy to release your Java or Android library. Publish straight from GitHub or Bitbucket.




					jitpack.io
				




Vielleicht solltest du die Seiten wechseln. 









						Is it possible to declare git repository as dependency in android gradle?
					

I want to use master version of my lib from mavencentral.  Is it possible to declare git repository as dependency in android gradle?




					stackoverflow.com


----------



## mrBrown (2. Okt 2019)

Projekt kann nicht gebaut werden: https://jitpack.io/com/github/mariuszgromada/MathParser.org-mXparser/master/build.log


----------



## White_Fox (2. Okt 2019)

grmpf...und das als

In der Uni-Bibliothek haben wir ein Buch über Gradle, das werde ich mal in Ruhe lesen. Wenn es nicht noch eine Woche verliehen wäre...


----------



## looparda (2. Okt 2019)

Ich kenne das Problem mit Code ohne Buildtool auf Github, den man doch gern via jitpack einbinden möchte. Eine Lösung ist es
1. das Repo zu forken und die nötigen Änderungen selbst zu machen oder
2. einen Fork finden, der dies bereits gemacht hat.
Folgender Fork hat die Java-API herausgezogen und ein pom.xml hinzugefügt:





						JitPack | Publish JVM and Android libraries
					

JitPack makes it easy to release your Java or Android library. Publish straight from GitHub or Bitbucket.




					jitpack.io
				



Ist nicht auf dem neusten Stand, aber damit kann man ja starten.

Aber wie schon erwähnt liegt das JAR im mavenCentral repo. Das ist die einfachste Möglichkeit die Abhängigkeit zu beziehen. Vermutlich fehlt dir nur die nötige Repo-Deklaration im Build-File:

```
...
repositories {
    mavenCentral()
}
dependencies {
    compile group: 'org.mariuszgromada.math', name: 'MathParser.org-mXparser', version: '4.3.3'
}
```


----------



## White_Fox (2. Okt 2019)

Danke, das probiere ich gleich mal aus.

Edit:
Is ja nich wahr...das hat tatsächlich funktioniert. Und ich duckduckgoe mir den ganzen Tag einen zurecht...


----------



## White_Fox (3. Okt 2019)

So...ich hab mal noch ein oder zwei kleinere Problemchen. Da wäre zunächst: Wieso baut läßt Gradle das Projekt nicht laufen?



Spoiler





```
apply plugin: 'java'

mainClassName = 'main.Launcher'

sourceCompatibility = '1.8'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

// NetBeans will automatically add "run" and "debug" tasks relying on the
// "mainClass" property. You may however define the property prior executing
// tasks by passing a "-PmainClass=<QUALIFIED_CLASS_NAME>" argument.
//
// Note however, that you may define your own "run" and "debug" task if you
// prefer. In this case NetBeans will not add these tasks but you may rely on
// your own implementation.
if (!hasProperty('mainClass')) {
    ext.mainClass = 'src/main/java/main/Launcher.java'
}

repositories {
    mavenCentral()
    // You may define additional repositories, or even remove "mavenCentral()".
    // Read more about repositories here:
    //   http://www.gradle.org/docs/current/userguide/dependency_management.html#sec:repositories
     maven {
         url "https://jitpack.io"
     }
}

dependencies {
    // TODO: Add dependencies here ...
    // You can read more about how to add dependency here:
    //   http://www.gradle.org/docs/current/userguide/dependency_management.html#sec:how_to_declare_your_dependencies
    testCompile group: 'junit', name: 'junit', version: '4.10'
    
    //mXparser
    compile group: 'org.mariuszgromada.math', name: 'MathParser.org-mXparser', version: '4.3.3'
    
    //jMultiLang
    compile(files("../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/jMultiLang/src"))
    testCompile(files("../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/jMultiLang/src"))
    //Annotation processor
    compile(files("../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/AnnoProcessor/src"))
    testCompile(files("../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/AnnoProcessor/src"))
    //ControlsFX
    compile 'com.github.controlsfx:controlsfx:master-SNAPSHOT'
    testCompile 'com.github.controlsfx:controlsfx:master-SNAPSHOT'   
    
}

task copyResources{
    copy{
        from 'src/main/resources'
        into 'build/target/content'
    }
}

//task compile{
//   
//}
//
//task run{
//   
//}
```




Zunächst hat er sich beschwert, daß keine mainklasse angegenben ist, diese Beschwerde kommt jetzt nicht mehr. Dafür bricht er umso schneller ab mit folgender Rückmeldung:
`org.gradle.tooling.BuildException: Could not execute build using Gradle distribution`
Im Stacktrace steht daß irgendwas mit Zeile 3 nicht in Ordnung ist. Aber was?

Netbeans baut automatisch ein run- und eine debugmethode, aber wie würde man das denn händisch machen?


----------



## looparda (3. Okt 2019)

mainClassName ist ein Attribut des application Plugins.

```
apply plugin: 'java'

// ->
apply plugin: 'application'

application {
    mainClassName = 'main.Launcher'
}
// <-

sourceCompatibility = '1.8'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'

....
```


----------



## White_Fox (3. Okt 2019)

Hm...danke, baut aber immer nocht nicht.

Hier ist mal der Stacktrace:


Spoiler





```
Issue 1
--------

  Requested project: C:userpath\Projekte\jCLS

  Stack trace:
    org.gradle.tooling.BuildException: Could not execute build using Gradle distribution 'https://services.gradle.org/distributions/gradle-5.0-bin.zip'.
        at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:51)
        at org.gradle.tooling.internal.consumer.ExceptionTransformer.transform(ExceptionTransformer.java:29)
        at org.gradle.tooling.internal.consumer.ResultHandlerAdapter.onFailure(ResultHandlerAdapter.java:41)
        at org.gradle.tooling.internal.consumer.async.DefaultAsyncConsumerActionExecutor$1$1.run(DefaultAsyncConsumerActionExecutor.java:57)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
        at java.lang.Thread.run(Thread.java:748)
        at org.gradle.tooling.internal.consumer.BlockingResultHandler.getResult(BlockingResultHandler.java:46)
        at org.gradle.tooling.internal.consumer.DefaultBuildLauncher.run(DefaultBuildLauncher.java:77)
        at org.netbeans.gradle.project.tasks.AsyncGradleTask.runBuild(AsyncGradleTask.java:453)
        at org.netbeans.gradle.project.tasks.AsyncGradleTask.doGradleTasksWithProgressIgnoreTaskDefCancel(AsyncGradleTask.java:581)
        at org.netbeans.gradle.project.tasks.AsyncGradleTask.doGradleTasksWithProgressIgnoreTaskDefCancel(AsyncGradleTask.java:486)
        at org.netbeans.gradle.project.tasks.AsyncGradleTask.doGradleTasksWithProgress(AsyncGradleTask.java:477)
        at org.netbeans.gradle.project.tasks.AsyncGradleTask.access$400(AsyncGradleTask.java:100)
        at org.netbeans.gradle.project.tasks.AsyncGradleTask$BuildExecutionItem$1.run(AsyncGradleTask.java:904)
        at org.netbeans.gradle.project.tasks.GradleDaemonManager.runNonBlockingGradleTask(GradleDaemonManager.java:35)
        at org.netbeans.gradle.project.tasks.GradleDaemonManager.access$100(GradleDaemonManager.java:22)
        at org.netbeans.gradle.project.tasks.GradleDaemonManager$2.execute(GradleDaemonManager.java:125)
        at org.jtrim.concurrent.AbstractTaskExecutorService$FunctionWrapper.execute(AbstractTaskExecutorService.java:270)
        at org.jtrim.concurrent.AbstractTaskExecutorService$TaskOfAbstractExecutor.execute(AbstractTaskExecutorService.java:340)
        at org.jtrim.concurrent.Tasks$RunOnceCancelableTask.execute(Tasks.java:342)
        at org.jtrim.concurrent.ThreadPoolTaskExecutor$ThreadPoolTaskExecutorImpl$QueuedItem.runTask(ThreadPoolTaskExecutor.java:1213)
        at org.jtrim.concurrent.ThreadPoolTaskExecutor$ThreadPoolTaskExecutorImpl$Worker.executeTask(ThreadPoolTaskExecutor.java:1049)
        at org.jtrim.concurrent.ThreadPoolTaskExecutor$ThreadPoolTaskExecutorImpl$Worker.run(ThreadPoolTaskExecutor.java:1179)
        at org.jtrim.concurrent.ThreadPoolTaskExecutor$ThreadPoolTaskExecutorImpl$Worker$1.run(ThreadPoolTaskExecutor.java:998)
        at java.lang.Thread.run(Thread.java:748)
    Caused by: org.gradle.internal.exceptions.LocationAwareException: Execution failed for task ':compileJava'.
        at org.gradle.initialization.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:74)
        at org.gradle.initialization.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:49)
        at org.gradle.initialization.MultipleBuildFailuresExceptionAnalyser.transform(MultipleBuildFailuresExceptionAnalyser.java:39)
        at org.gradle.initialization.StackTraceSanitizingExceptionAnalyser.transform(StackTraceSanitizingExceptionAnalyser.java:30)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:164)
        at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:133)
        at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:79)
        at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:76)
        at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:103)
        at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:96)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:183)
        at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
        at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:96)
        at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:76)
        at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:55)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.run(RunAsBuildOperationBuildActionRunner.java:49)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:44)
        at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:47)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:44)
        at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:79)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:44)
        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)
        at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)
        at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)
        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
        at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:52)
        at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:62)
        at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:34)
        at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)
        at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)
        at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
        at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
        at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:59)
        at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31)
        at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)
        at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)
        at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:46)
        at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
        at org.gradle.util.Swapper.swap(Swapper.java:38)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:81)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    Caused by: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':compileJava'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:96)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:65)
        at org.gradle.api.internal.tasks.execution.ActionEventFiringTaskExecuter.execute(ActionEventFiringTaskExecuter.java:44)
        at org.gradle.api.internal.tasks.execution.TimeoutTaskExecuter.execute(TimeoutTaskExecuter.java:53)
        at org.gradle.api.internal.tasks.execution.SnapshotAfterExecutionTaskExecuter.execute(SnapshotAfterExecutionTaskExecuter.java:38)
        at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:49)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:61)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
        at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:44)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:55)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:35)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:49)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:44)
        at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:337)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:325)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:318)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:304)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193)
        at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129)
        at org.gradle.execution.plan.DefaultPlanExecutor.process(DefaultPlanExecutor.java:74)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.executeWithServices(DefaultTaskExecutionGraph.java:167)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph.execute(DefaultTaskExecutionGraph.java:150)
        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:41)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:40)
        at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:24)
        at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:46)
        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:49)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:40)
        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:33)
        at org.gradle.initialization.DefaultGradleLauncher$ExecuteTasks.run(DefaultGradleLauncher.java:367)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.initialization.DefaultGradleLauncher.runTasks(DefaultGradleLauncher.java:231)
        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:158)
        ... 69 more
    Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:52)
        at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:36)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:100)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)
        at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
        at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:51)
        at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:37)
        at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:39)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory$2.execute(IncrementalCompilerFactory.java:110)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory$2.execute(IncrementalCompilerFactory.java:106)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:59)
        at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:43)
        at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:152)
        at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:120)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:41)
        at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:117)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:106)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:85)
        ... 119 more
```


----------



## looparda (3. Okt 2019)

Da es sich um einen Kompilationsfehler handelt liegt der Fehler wohl in deinen Sourcen. Der Kompilationsfehler sollte direkt vor der Ausgabe des Stacktraces angezeigt werden.


```
> Task :compileJava FAILED
Blibla.java:12: error: XXX

1 error

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':compileJava'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.accept(ExecuteActionsTaskExecuter.java:121)
```


----------



## White_Fox (3. Okt 2019)

Merkwürdig, der Code selber funktioniert eigentlich. Im originalen Netbeansprojekt rennt das ohne Probleme, und Netbeans zeigt auch keine fehlendenden Dependencies mehr an.


----------



## looparda (3. Okt 2019)

Netbeans hat ja sein eigenes "Modul-System". Wenn du Änderungen in Netbeans machst (vor allem welche am Classpath) dann werden die sicherlich nicht in die Gradle-Konfiguration überführt.. Ich kenne weder Netbeans gut noch die Gradle-Integration.


----------



## White_Fox (3. Okt 2019)

Naja, sowohl Ant (das benutzt Netbeans intern) als auch Gradle sagen dem Javacompiler doch letztlich bloß, wo er die hinter 'import' angebenen Dateien finden kann. Oder nicht? Passiert da noch so viel mehr?


----------



## White_Fox (3. Okt 2019)

So wie es aussieht, findet er einige Pakete nicht. Und zwar genau die Pakete, die ich damit eingebunden habe:

```
compile(files("../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/jMultiLang/src"))
testCompile(files("../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/jMultiLang/src"))
    
compile(files("../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/AnnoProcessor/src"))
testCompile(files("../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/AnnoProcessor/src"))
```

Allerdings befinden sich die Pakete völlig korrekt im Depenenciesordner von Gradle. Die Dateien, in denen auf diese zugegriffen wird, werden auch nicht als fehlerhaft markiert (was jedoch der Fall ist, wenn ich diese Anweisungen z.B. rausnehme).


----------



## mihe7 (3. Okt 2019)

looparda hat gesagt.:


> Wenn du Änderungen in Netbeans machst (vor allem welche am Classpath) dann werden die sicherlich nicht in die Gradle-Konfiguration überführt..


Oooh, da wäre ich mir bei NetBeans nicht so sicher. Vielleicht schmeiße ich es nachher mal an.


----------



## mrBrown (3. Okt 2019)

White_Fox hat gesagt.:


> So wie es aussieht, findet er einige Pakete nicht. Und zwar genau die Pakete, die ich damit eingebunden habe:
> 
> ```
> compile(files("../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/jMultiLang/src"))
> ...


Spontan würde ich darauf tippen, dass du auf Java-Dateien und nicht auf kompilierte Klassen bzw Jars verweist?


----------



## White_Fox (3. Okt 2019)

Jap...ich verweise auf Java-Dateien, und im Dependenciesordner liegen Javadateien. Und zwar genaus so, wie sie laut Klassenpfad liegen sollten.


----------



## looparda (3. Okt 2019)

Wie gesagt solltest du dort eher Jars oder Class-Files hinterlegen. Ansonsten müsste es funktionieren, wenn du die Ordner als Quelldateien behandelst.

```
sourceSets {
    main {
        java {
            srcDirs 'src'
            srcDirs '../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/jMultiLang/src'
            srcDirs '../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/AnnoProcessor/src'
        }
    }
}
```


----------



## White_Fox (4. Okt 2019)

looparda hat gesagt.:


> Wie gesagt solltest du dort eher Jars oder Class-Files hinterlegen.


Naja, das sind Dateien, die ich zwar als Bibliothek angelegt hab da die sich zur Wiederverwendung geradezu anbieten, aber wenn ich die fertigkompiliert einstelle kann ja niemand mehr den Sourcecode nachvollziehen.


----------



## thecain (4. Okt 2019)

looparda hat gesagt.:


> srcDirs '../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/jMultiLang/src' srcDirs '../../../Netbeans/Java Bibliotheken/Eigene Bibliotheken/AnnoProcessor/src'


Push die doch in dein lokales Repo und verwende sie als ganz normale Dependency. (Jedenfalls bei maven würde ich das so machen, denke bei Gradle wird das ähnlich funktionieren)


----------

