How to execute a task of type 'JavaExec' before compileJava

I need to execute a java class which has a main method in it before compiling the code. This is what I have tried so far:

task runSimple(type: JavaExec) {
    main = 'jjrom.ObjectGen'
    classpath = sourceSets.main.runtimeClasspath
    File prop1 = file(propFilePath)
       args '-sqlserver', '-force', prop1.path
    println "I'm done executing."
  compileJava {
    dependsOn runSimple

When I execute this script with the command “gradle compileJava” , I get this error message:

I’m done executing.

FAILURE: Build failed with an exception.

  • What went wrong: Circular dependency between the following task: :classes — :compileJava

— :runSimple

— :classes (*)

(*) - details omitted (listed previously)

Please don’t double-post here and on Stack Overflow. I’ve already answered the question there.