Class MainClassFinder
- java.lang.Object
- org.springframework.boot.loader.tools.MainClassFinder
public abstract class MainClassFinder extends Object
Finds any class with apublic static mainmethod by performing a breadth first search.
Constructor Summary
Constructors Constructor Description MainClassFinder()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringfindMainClass(File rootFolder)Find the main class from a given folder.static StringfindMainClass(JarFile jarFile, String classesLocation)Find the main class in a given jar file.static StringfindSingleMainClass(File rootFolder)Find a single main class from the givenrootFolder.static StringfindSingleMainClass(File rootFolder, String annotationName)Find a single main class from the givenrootFolder.static StringfindSingleMainClass(JarFile jarFile, String classesLocation)Find a single main class in a given jar file.static StringfindSingleMainClass(JarFile jarFile, String classesLocation, String annotationName)Find a single main class in a given jar file.
Constructor Detail
MainClassFinder
public MainClassFinder()
Method Detail
findMainClass
public static String findMainClass(File rootFolder) throws IOException
Find the main class from a given folder.- Parameters:
rootFolder- the root folder to search- Returns:
- the main class or
null - Throws:
IOException- if the folder cannot be read
findSingleMainClass
public static String findSingleMainClass(File rootFolder) throws IOException
Find a single main class from the givenrootFolder.- Parameters:
rootFolder- the root folder to search- Returns:
- the main class or
null - Throws:
IOException- if the folder cannot be read
findSingleMainClass
public static String findSingleMainClass(File rootFolder, String annotationName) throws IOException
Find a single main class from the givenrootFolder. A main class annotated with an annotation with the givenannotationNamewill be preferred over a main class with no such annotation.- Parameters:
rootFolder- the root folder to searchannotationName- the name of the annotation that may be present on the main class- Returns:
- the main class or
null - Throws:
IOException- if the folder cannot be read
findMainClass
public static String findMainClass(JarFile jarFile, String classesLocation) throws IOException
Find the main class in a given jar file.- Parameters:
jarFile- the jar file to searchclassesLocation- the location within the jar containing classes- Returns:
- the main class or
null - Throws:
IOException- if the jar file cannot be read
findSingleMainClass
public static String findSingleMainClass(JarFile jarFile, String classesLocation) throws IOException
Find a single main class in a given jar file.- Parameters:
jarFile- the jar file to searchclassesLocation- the location within the jar containing classes- Returns:
- the main class or
null - Throws:
IOException- if the jar file cannot be read
findSingleMainClass
public static String findSingleMainClass(JarFile jarFile, String classesLocation, String annotationName) throws IOException
Find a single main class in a given jar file. A main class annotated with an annotation with the givenannotationNamewill be preferred over a main class with no such annotation.- Parameters:
jarFile- the jar file to searchclassesLocation- the location within the jar containing classesannotationName- the name of the annotation that may be present on the main class- Returns:
- the main class or
null - Throws:
IOException- if the jar file cannot be read