JAVA檢測JS腳本
- package com.yonge.validateScript;
- import java.io.File;
- import java.io.FileReader;
- import java.io.IOException;
- import java.util.List;
- import com.googlecode.jslint4java.Issue;
- import com.googlecode.jslint4java.JSLint;
- import com.googlecode.jslint4java.JSLintBuilder;
- import com.googlecode.jslint4java.JSLintResult;
- import com.googlecode.jslint4java.Option;
- /**
- * 利用JSLint驗證js的正確性
- */
- public class JSLintTest {
- public static void main(String[] args) throws IOException {
- JSLintBuilder builder = new JSLintBuilder();
- //使用默認的jslint.js進行初始化
- JSLint jsLint = builder.fromDefault();
- //自定義jslint.js進行初始化
- /*JSLint jsLint = builder.fromFile(new File(JSLintTest.class.getResource("/").getPath()
- + "/resource/webjslint.js"));*/
- //過濾的警告選項
- jsLint.addOption(Option.SLOPPY);
- jsLint.addOption(Option.WHITE);
- jsLint.addOption(Option.EQEQ);
- jsLint.addOption(Option.NOMEN);
- jsLint.addOption(Option.UNDEF);
- jsLint.addOption(Option.CONTINUE);
- jsLint.addOption(Option.ON);
- jsLint.addOption(Option.REGEXP);
- jsLint.addOption(Option.VARS);
- jsLint.addOption(Option.PLUSPLUS);
- //jsLint.lint(String systemId, Reader reader)第一個參數是指需要檢查的文件名稱,第二個參數是文件的內容
- JSLintResult result = jsLint.lint("test.js", new FileReader(new File(ValidateScript.class
- .getResource("/").getPath() + "/resource/test.js")));
- List<Issue> issues = result.getIssues();
- System.out.println(String.format("總共有%1$d個問題", issues.size()));
- if (issues != null && issues.size() > 0) {
- for (Issue issue : issues) {
- System.out.println(String.format("第%1$s行的%2$s出現問題,原因:%3$s", issue.getLine(),
- issue.getEvidence(), issue.getReason()));
- }
- }
- }
- }