Hector Ccasani Asked: 2020-01-17 01:00:58 +0800 CST 2020-01-17 01:00:58 +0800 CST 2020-01-17 01:00:58 +0800 CST 如何在 sublime text 3 中编译 java 包? 772 我正在尝试使用 sublime-build 中的此配置来学习 Java { "cmd": "javac ${file_name} && java ${file_base_name}", "shell": true } 编译和运行文件时一切正常。创建包(包)时会出现问题。现在它只是编译并创建 .class 文件,但不再运行该文件。 这是我现在遇到的第一个问题。如果您能帮助我解决它或澄清为什么我会收到此错误,我将不胜感激。 java 3 Answers Voted Best Answer JohnnyTB 2020-06-05T00:24:23+08:002020-06-05T00:24:23+08:00 编译和运行包含包的 Java 应用程序 好吧, .sublime-build 文件确实运行了 2 个命令: javac \"$file_name\"然后是java \"$file_base_name\",当 .class 和 .java 文件混合在同一个目录中时,这很好(不推荐)。 要使用包进行编译,必须指定二进制文件和源的路径,例如,在命令行上并假设项目的组织方式如下: miProyecto/bin/com/java/prueba/Prueba.class miProyecto/src/com/java/prueba/Prueba.java 为类路径创建一个变量: $ export CLASSPATH=~/miProyecto/bin 然后是源的变量: $ export SOURCES=~/miProyecto/src/com/java 编译后: $ javac -sourcepath com -d ${CLASSPATH} ${SOURCES}/*/*.java 最后执行: $ java com/java/prueba/Prueba 前面的 4 个命令是您必须在 .sublime-build 文件中实现的命令 我的设置: "cmd": ["export CLASSPATH=\"$folder/bin\" && export SOURCES=\"$folder/src/com/java\" && javac -sourcepath com -d \\${CLASSPATH} \\${SOURCES}/*/*.java && java com/java/\"\\${PWD##*/}\"/\"$file_base_name\""], 重要笔记: 在 UNIX 环境中测试没有问题。 我的配置基于 Eclipse 目录系统,也就是说,将 .class 包组织在“bin”目录中,将 .java 包组织在“src”中。 执行: 结果,一个简单的框架和一个将计数状态打印到控制台的线程。 使用的工具: 崇高文本 3(构建 3126) Java 1.8.0_31 Linux 和 OSX Lithorell 2020-01-17T01:59:24+08:002020-01-17T01:59:24+08:00 当您使用包进行编译时,它还会创建包文件夹,因此您很可能将执行指向根目录而不是正确的路径。 Ignacio Castillejo Gomez 2020-01-17T11:46:01+08:002020-01-17T11:46:01+08:00 您可以检查是否使用默认提供的 JavaC 工具编译代码,SublimeText 将毫无问题地编译您的代码。(但正如您已经知道的那样,它不会由总是更好地使用终端的东西来执行)
编译和运行包含包的 Java 应用程序
好吧, .sublime-build 文件确实运行了 2 个命令:
javac \"$file_name\"
然后是java \"$file_base_name\"
,当 .class 和 .java 文件混合在同一个目录中时,这很好(不推荐)。要使用包进行编译,必须指定二进制文件和源的路径,例如,在命令行上并假设项目的组织方式如下:
为类路径创建一个变量:
$ export CLASSPATH=~/miProyecto/bin
然后是源的变量:
$ export SOURCES=~/miProyecto/src/com/java
编译后:
$ javac -sourcepath com -d ${CLASSPATH} ${SOURCES}/*/*.java
最后执行:
$ java com/java/prueba/Prueba
前面的 4 个命令是您必须在 .sublime-build 文件中实现的命令
我的设置:
重要笔记:
在 UNIX 环境中测试没有问题。
我的配置基于 Eclipse 目录系统,也就是说,将 .class 包组织在“bin”目录中,将 .java 包组织在“src”中。
执行:
结果,一个简单的框架和一个将计数状态打印到控制台的线程。
使用的工具:
当您使用包进行编译时,它还会创建包文件夹,因此您很可能将执行指向根目录而不是正确的路径。
您可以检查是否使用默认提供的 JavaC 工具编译代码,SublimeText 将毫无问题地编译您的代码。(但正如您已经知道的那样,它不会由总是更好地使用终端的东西来执行)