Uploaded image for project: 'Groovy'
  1. Groovy
  2. GROOVY-3233

The main(args) entry point cannot be found when a class file has multiple classes and the first class extends another class.

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.6-rc-1
    • Fix Version/s: 2.5.0-alpha-1
    • Component/s: Compiler
    • Labels:
      None
    • Environment:
      Groovy Version: 1.6-RC-1 JVM: 1.6.0_11. WinXP

      Description

      Running the classes shown below results in:
      groovy -cp ..\main\groovy ..\main\groovy\MainInvokeSub.groovy
      Caught: groovy.lang.GroovyRuntimeException: This script or class could not be run.
      It should either:

      • have a main method,
      • be a JUnit test, TestNG test or extend GroovyTestCase,
      • or implement the Runnable interface.

      However, if the 'extends MainInvokeBase' is removed or if the second class is commented out, it does run.
      The only "spec" I could find about the expected behavior is in the GINA book.

      file: MainInvokeBase.groovy
      class MainInvokeBase {
      }

      file: MainInvokeSub.groovy
      class MainInvokeSub extends MainInvokeBase{
      static main(args)

      { println "Hello world!" }


      }

      def class SecondClass{
      }

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              josef betancourt josef betancourt
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: