1010
1111public class NullPointerMain {
1212 private static final Logger logger = LogManager .getLogger (NullPointerMain .class );
13-
1413 /**
15- * 运行空指针分析的主方法
14+ * 运行空指针分析的简化方法(使用默认Java 8)
1615 * @param classPath 类路径
1716 * @param mainClass 主类名
18- * @param javaVersion Java版本(默认为8)
1917 */
20- public static void run (String classPath , String mainClass , String javaVersion ) {
21- List < String > argList = new ArrayList <>( );
22- logger . info ( "Running null pointer analysis for {}" , mainClass );
18+ public static void run (String classPath , String mainClass ) {
19+ main ( new String []{ "-cp" , classPath , "-m" , mainClass } );
20+ }
2321
22+ public static void main (String [] args ) {
23+ List <String > argList = new ArrayList <>();
2424 // 添加基本参数
25- Collections .addAll (argList , "-cp" , classPath );
26- Collections .addAll (argList , "-m" , mainClass );
27- Collections .addAll (argList , "-java" , javaVersion );
28- Collections .addAll (argList , "-scope" , "APP" );
25+ Collections .addAll (argList , args );
2926
3027 // 添加必要的分析
3128 Collections .addAll (argList , "-a" , "must-alias" );
@@ -45,26 +42,4 @@ public static void run(String classPath, String mainClass, String javaVersion) {
4542
4643 Main .main (argList .toArray (new String [0 ]));
4744 }
48-
49- /**
50- * 运行空指针分析的简化方法(使用默认Java 8)
51- * @param classPath 类路径
52- * @param mainClass 主类名
53- */
54- public static void run (String classPath , String mainClass ) {
55- run (classPath , mainClass , "8" );
56- }
57-
58- public static void main (String [] args ) {
59- if (args .length < 2 ) {
60- logger .error ("Usage: java NullPointerMain <classpath> <main-class> [java-version]" );
61- System .exit (1 );
62- }
63-
64- String classPath = args [0 ];
65- String mainClass = args [1 ];
66- String javaVersion = args .length > 2 ? args [2 ] : "8" ;
67-
68- run (classPath , mainClass , javaVersion );
69- }
7045}
0 commit comments