ST3 - 在java

时间:2016-06-07 20:54:40

标签: java windows cmd sublimetext3 build-system

这是我的情况: 我在名为“JavaProgs2”的文档中有一个项目文件夹 它有许多.java文件,1个类路径目录,名为“Classes”& 2个包(目录)“myPack1”和“myPack2”,分别有“Parent.java”和“Child.java”文件。 “Child.java”从“Parent.java”导入方法 我在ST3中的java Build System是:

{
    "cmd": ["javac","-d","$folder/Classes", "$file"],
    "working_dir":"$folder",
    "path": "D:/Program Files/Java/jdk1.8.0_91/bin",
    "shell": true,
    "variants": [

        {   
            "cmd": ["start","cmd", "/k", "java", "$file_base_name"],
            "working_dir":"$folder/Classes",
            "shell": true,
            "name": "Run"
        }
    ]
}

我在编译任何.java文件时都没有问题,无论是在包中还是在项目文件夹中。 但是,当运行文件时,我得到“无法找到或加载...”错误。 那么 "java", "$file_base_name" 是否有任何替代品,当从work_dir需要CMD时,它会发送像 java <package name>.<classname> 这样的命令? 也许有类似$folder_name.$file_base_name的东西我可以在构建系统中使用

我不想使用IDE。

编辑:

我想编辑我的构建系统的RUN变体,因为我需要这个帮助: 有没有办法去除路径之类的 D:\Users\Horcrux\Documents\JavaProgs2\Classes\myPack1\Parent.class 只是   myPack1/Parent 或类似的 D:\Users\Horcrux\Documents\JavaProgs2\Classes\myPack1\blahblah\abc\Test.class 只是   myPack1/blahblah/abc/Test ???

简而言之只有路径“worikng_dir”之后直到$ file_base_name从Sublime Text发送到CMD并将“\”替换为“/”,其中working_dir是

"D:\Users\Horcrux\Documents\JavaProgs2\Classes\"

编辑2: 好吧,我想出了这么多..它非常接近。在构建系统中我输入了这个片段:

${file/(D.+?s2\\\\)||(.java)//g}

将此命令发送给CMD:

java myPack1\test3\_2ArithmeticOperations

现在我唯一不知道的是如何将“\”替换为“/” 您能否尝试编辑片段以执行替换?

1 个答案:

答案 0 :(得分:0)

您的问题相当不明确,但您可以在非官方文档中找到所有可用的build system variables。您可能还有兴趣使用正则表达式了解substitutions - 链接指向片段页面,但替换在构建系统中的工作方式相同。