首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Mac OS上使用Sublime Text 3运行Java

如何在Mac OS上使用Sublime Text 3运行Java
EN

Stack Overflow用户
提问于 2014-06-20 10:39:03
回答 6查看 33.3K关注 0票数 8

最近,我了解了Sublime Text 3,并尝试在其中运行Java。

我已经在包Java.sublime-package中修改了JavaC.sublime-build。

JavaC.sublime-build:

代码语言:javascript
复制
{
    "cmd": ["runJava.sh", "$file_base_name"],
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java"
}

我有如下所示的shell脚本(runJava.sh),并将其放在Java bin文件夹中。

runJava.sh:

代码语言:javascript
复制
[ -f "$1.class" ] && rm $1.class
for file in $1.java
do
echo "Compiling $file........"
javac $file
done
if [ -f "$1.class" ]
then
echo "-----------OUTPUT-----------"
java $1
else
echo " "
fi

Java bin文件夹:

代码语言:javascript
复制
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/bin

然而,当我构建一个java文件时,我得到了一条错误消息,说...

代码语言:javascript
复制
[Errno 2] No such file or directory: 'runJava.sh'
[cmd: ['runJava.sh', 'Test']]
[dir: /Users/xxxxxxx/Desktop]
[path: /usr/bin:/bin:/usr/sbin:/sbin]
[Finished]

我不知道为什么会出现这条消息,因为runJava.sh位于正确的位置,即Java bin文件夹。

这个问题的原因是什么?

EN

回答 6

Stack Overflow用户

发布于 2017-02-19 02:56:08

简单的一步一步:

  1. Install Package Control如果你还没有使用包控制来安装
  2. ,安装JSON包控制,输入prv并运行构建JSON定义,下面的代码块exactly
  3. You're

PackageResourceViewer: Open Resource

  1. Select Java
  2. Select JavaC.sublime-build
  3. Replace!ctrl+b现在应该编译并运行你的

文件了。

构建JSON定义:

代码语言:javascript
复制
{
  "cmd": ["javac \"$file_name\" && java \"$file_base_name\""],
  "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
  "selector": "source.java",
  "shell": true
}
票数 13
EN

Stack Overflow用户

发布于 2014-12-04 23:43:49

这是因为您不应该直接使用编辑器修改包文件。它们是zip文件,尽管它们没有警告用户的扩展名。

要修改插件,您必须转到/Packages并解压缩Java.sublime-package文件。我将使用linux语法,但过程保持不变:

代码语言:javascript
复制
cd <sublime-text3-folder>/Packages
mkdir java
cp Java.sublime-packages java
cd java
unzip Java.sublime-packages

然后使用编辑器修改JavaC.sublime-build以添加以下行(不要忘记最后一行后面的额外逗号

代码语言:javascript
复制
{
   "shell_cmd": "javac \"$file\"",
   "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
   "selector": "source.java",

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

再次压缩Java.sublime-package中的内容,并通过以下方式将其放回Package文件夹:

压缩包Java.sublime-package * cp Java.sublime-Package..//Packages

重新启动sublime,现在与Ctrl+B一起构建您的项目,您将能够通过Ctrl + Mayus +B来运行它

票数 12
EN

Stack Overflow用户

发布于 2016-03-02 05:50:48

有很多解决方案都说了同样的话,但没有提供一步一步的步骤。下面是我在安装了Sublime Text 3的Mac16上的体验

打开终端窗口并执行以下操作:

$ cd /Applications/Sublime\ Text.app/Contents/MacOS/Packages/

创建了一个临时目录来搞乱。

$ mkdir java

将当前Java.sublime-package复制到新的java目录中,并将cd复制到java中。

$ cp Java.sublime-package java/

$ cd java

然后,解压包以查看其内容:

$解压缩Java.sublime-package

现在,编辑构建文件JavaC.sublime-build.如果您有sublime text命令行脚本:

$ subl JavaC.sublime-build

否则,

$ vi JavaC.sublime-build

然后,我将以下代码复制到我的JavaC.sublime-build中,这是我在Sean Mullen上找到的

代码语言:javascript
复制
{
    "cmd": ["javac \"$file_name\" && java \"$file_base_name\""],
    "shell": true,
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java"
}

在此之后,保存,并在java目录中键入:

$ zip Java.sublime-package *

将新生成包移动到必要的文件夹(父目录):

$ mv Java.sublime-package ../

更新时间: 4/18/18:抱歉,我花了这么长时间才调整这个答案。根据@bumbu的评论,在删除temp目录之前,我们需要执行以下命令:

$ cd ..

删除temp java目录:

$ rm -fr java/

完成了。现在,构建Java文件也会尝试运行它。我更喜欢这种行为,而不是不得不做另一个“变种”来运行程序。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24319143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档