Class MainClassFinder
java.lang.Object
org.springframework.boot.loader.tools.MainClassFinder
Finds any class with a
public static main
method by performing a breadth first
search.- Since:
- 1.0.0
- Author:
- Phillip Webb, Andy Wilkinson
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
findMainClass
(File rootDirectory) Find the main class from a given directory.static String
findMainClass
(JarFile jarFile, String classesLocation) Find the main class in a given jar file.static String
findSingleMainClass
(File rootDirectory) Find a single main class from the givenrootDirectory
.static String
findSingleMainClass
(File rootDirectory, String annotationName) Find a single main class from the givenrootDirectory
.static String
findSingleMainClass
(JarFile jarFile, String classesLocation) Find a single main class in a given jar file.static String
findSingleMainClass
(JarFile jarFile, String classesLocation, String annotationName) Find a single main class in a given jar file.
-
Constructor Details
-
MainClassFinder
public MainClassFinder()
-
-
Method Details
-
findMainClass
Find the main class from a given directory.- Parameters:
rootDirectory
- the root directory to search- Returns:
- the main class or
null
- Throws:
IOException
- if the directory cannot be read
-
findSingleMainClass
Find a single main class from the givenrootDirectory
.- Parameters:
rootDirectory
- the root directory to search- Returns:
- the main class or
null
- Throws:
IOException
- if the directory cannot be read
-
findSingleMainClass
public static String findSingleMainClass(File rootDirectory, String annotationName) throws IOException Find a single main class from the givenrootDirectory
. A main class annotated with an annotation with the givenannotationName
will be preferred over a main class with no such annotation.- Parameters:
rootDirectory
- the root directory 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 directory cannot be read
-
findMainClass
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 givenannotationName
will 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
-