SublimeLinter 无法与 Java 配合使用

SublimeLinter 无法与 Java 配合使用

我正在尝试让 sublimelinter 与 java 一起工作,以便我可以对我的 java 程序进行 lint,但我不知道 javac -Xlint 是什么或路径是什么。所以我的问题是,PATHs 和 -xlint 是什么?

我已经让 sublimelinter 指向C:\Program Files\Java\jdk1.7.0_17\binjava 文件,但它仍然不起作用。

答案1

Sublimelinter 没有易于理解的文档。因此,我做了以下操作来让它正常工作。

在您的 sublimetext 项目文件中,您必须设置 SublimeLinter 对象并配置 Java lint 设置。

假设您有一个如下的项目结构:

C:\path\to\projectname
├───src
│   ├───main
│   │   ├───java
│   │   │   └───com
│   │   │       └───yoursite
│   │   ├───resources
│   │   └───webapp
│   │       └───WEB-INF
│   └───test
│       └───java
│           └───com
│               └───yoursite
└───target
    ├───classes
    │   └───com
    │       └───yoursite
    ├───projectname
    │   ├───META-INF
    │   └───WEB-INF
    │       ├───classes
    │       │   └───com
    │       │       └───yoursite
    │       └───lib
    ├───javadoc-bundle-options
    ├───maven-archiver
    └───surefire
  • working_directory:工作区的绝对路径。(有人知道如何引用路径吗folders.path?)此外,其余路径都与此路径相关。
  • lint_args:传递给 javac 的参数
    • -sourcepath:源文件的路径。
    • classpath:已编译类的路径。
    • -Xlint-Xlint:-serialjavac命令行选项。
    • {filename}:SublimeLinter 对当前文件的引用。

javac

-Xlint:启用所有推荐警告。在此版本中,所有可用的警告均为推荐警告。 -Xlint:串行:警告可序列化类上缺少 serialVersionUID 定义。

项目名称.sublime-project1

{
    "folders": [
        {
            "path": "C:\\path\\to\\projectname",
            "name": "projectname"
        }
    ],
    "settings": {
        "SublimeLinter":
        {
            "Java":
            {
                "working_directory": "C:\\path\\to\\projectname",
                "lint_args":
                [
                    "-sourcepath", "src/main/java;c:\\some\\absolute\\path",
                    "-classpath", "C:\\Users\\UERNAME\\.m2\\repository\\path\\to\\file.jar;target/classes",
                    "-Xlint", "-Xlint:-serial",
                    "{filename}"
                ]
            }
        }
    }
}

答案2

您还可以简单地将包含您正在使用的类的文件夹添加到您的 CLASSPATH 中。

相关内容