# Calling a main class multiple times from a custom gradle task in java

**URL:** https://discuss.gradle.org/t/calling-a-main-class-multiple-times-from-a-custom-gradle-task-in-java/3456
**Category:** Old Forum Archive
**Created:** [December 4, 2012, 9:20pm UTC](https://discuss.gradle.org/t/calling-a-main-class-multiple-times-from-a-custom-gradle-task-in-java/3456 "2012-12-04T21:20:00Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![u1234](https://avatars.discourse-cdn.com/v4/letter/u/2acd7d/32.png) [@u1234](https://discuss.gradle.org/u/u1234)
#### Post date: [December 4, 2012, 9:20pm UTC](https://discuss.gradle.org/t/calling-a-main-class-multiple-times-from-a-custom-gradle-task-in-java/3456/1 "2012-12-04T21:20:00Z")

</div>

Currently I call a main method in a class like this from my build.gradle file:

```gradle
task(runSample, dependsOn: 'classes', type: JavaExec) {
    afterEvaluate{
      main = 'com.MyMain'
      classpath=sourceSets.main.runtimeClasspath
      classpath+=sourceSets.test.runtimeClasspath
      args 'firstArg'
      args 'secondArg'
    }
  }

```

I need to do the above but for multiple values of the second args in my custom task implemented in java. I have found an example in groovy that looks like this:

```gradle
project.javaexec {
    main = 'com.mrhaki.java.Simple'
    classpath = sourceSets.main.runtimeClasspath
    args 'mrhaki'
    systemProperty 'simple.message', 'Hello '
}

```

But in java the project.javaexec takes a closure:

```gradle
project.javaexec(Closure closure)

```

Any ideas on how to call the project.javaexec from a task written in Java?

---

<div class="post-metadata">

### Author: ![u1234](https://avatars.discourse-cdn.com/v4/letter/u/2acd7d/32.png) [@u1234](https://discuss.gradle.org/u/u1234)
#### Post date: [December 5, 2012, 7:57pm UTC](https://discuss.gradle.org/t/calling-a-main-class-multiple-times-from-a-custom-gradle-task-in-java/3456/2 "2012-12-05T19:57:00Z")

</div>

or is this a “groovy-only” feature?
