是否可以使用Sublime Text 2使用库构建/运行java

时间:2014-02-19 23:48:20

标签: java build sublimetext2 javac

我可以使用构建脚本在Sublime Text 2中构建java程序。但是,是否可以修改脚本以自动在构建中包含引用的库,例如在文件夹lib \。

{
"cmd": ["javac", "-Xlint", "$file"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java",

"variants": [
    { "cmd": ["java", "$file_base_name"],
      "name": "Run"
    }
]
}

由于

修改 我现在能够使用

从Sublime Text构建和运行
{
"cmd": ["javac", "-cp", "*;.", "-Xlint", "$file"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java",

"variants": [

    { "cmd": ["java", "-cp", "*;.", "$file_base_name"],
      "name": "Run"
    }
] }

1 个答案:

答案 0 :(得分:1)

创建外部脚本文件(例如 java-build )并从 JavaC.sublime-text 引用它:

  "cmd": ["java-build", "$file", "$file_path"],       

如果 lib 文件夹位于正在编译的java文件旁边,则脚本可能如下所示:

java-build.bat (适用于Windows):

@echo off
cd %2
javac -cp "*;." -Xlint %1 %2\lib\*.java

java-build.sh (对于Unix):

#!/bin/bash
cd $2
javac -cp ./*:. -Xlint $1 $2/lib/*.java

如果您希望将 .class 文件放在一个单独的位置,请将 -d 路径 参数添加到javac。 在编译之前删除旧类也是一个好主意,以确保如果编译器在某个文件上中断,则不会使用不同的版本:-rm *.class(对于Windows,del *.class)。

此讨论可能有所帮助:Compiling and Running Java Code in Sublime Text 2