如何在 sublime text 3 中为 java 构建系统,它也支持包?
how to build system in sublime text 3 for java which also supports packages?
我已将所有 java 项目存储如下:
C:\Users\swagat\Documents\JavaProjects\name_of_1st_project\all_source_files.java
C:\Users\swagat\Documents\JavaProjects\name_of_2nd_project\all_source_files.java
C:\Users\swagat\Documents\JavaProjects\name_of_3rd_project\all_source_files.java
C:\Users\swagat\Documents\JavaProjects\name_of_4th_project\all_source_files.java
希望您了解层次结构。
现在我正在尝试在 sublime text 3 中创建一个构建系统,它可以通过单击编译 运行 任何 java 程序。
我的构建系统包含:
{
"shell_cmd": "javac $file && java $file_base_name"
}
我还设置了 CLASSPATH 环境变量指向 C:\Users\swagat\Documents\JavaProjects
我不想为每个项目设置不同的 CLASSPATH
如果我不在我的 java 源代码中使用包,上述设置有效
但是当我使用包时,例如:
package name_of_1st_project;
在我的 java 源代码中,然后我得到构建错误“ 无法找到或加载主 class name_of_1st_project。
原因:java.lang.NoClassDefFoundError:name_of_1st_project/name_of_1st_project(错误名称:name_of_1st_project)"
为了解决这个问题,我将构建文件修改为:
{
"shell_cmd": "javac $file && java $file_base_name.name_of_1st_project"
}
它解决了问题,但只针对第一个项目。
我想使用正则表达式或任何可以在 sublime 构建系统文件末尾附加“.name_of_nth_project”的方法使其动态化。
我阅读了 sublime 文档,发现没有我可以使用的具有当前文件夹名称的变量(只是名称,不包括路径)。
我搜索了整个互联网,但没有找到确切的解决方案。请帮助。(也许我的意见可以帮助)
将 sublime 构建文件更改为:
{
"shell_cmd": "javac $file && java $file_base_name.$file_base_name"
}
但文件夹名称和包名称应与包含主要方法的文件名称相同。
我已将所有 java 项目存储如下:
C:\Users\swagat\Documents\JavaProjects\name_of_1st_project\all_source_files.java C:\Users\swagat\Documents\JavaProjects\name_of_2nd_project\all_source_files.java C:\Users\swagat\Documents\JavaProjects\name_of_3rd_project\all_source_files.java C:\Users\swagat\Documents\JavaProjects\name_of_4th_project\all_source_files.java
希望您了解层次结构。
现在我正在尝试在 sublime text 3 中创建一个构建系统,它可以通过单击编译 运行 任何 java 程序。
我的构建系统包含:
{
"shell_cmd": "javac $file && java $file_base_name"
}
我还设置了 CLASSPATH 环境变量指向 C:\Users\swagat\Documents\JavaProjects
我不想为每个项目设置不同的 CLASSPATH
如果我不在我的 java 源代码中使用包,上述设置有效
但是当我使用包时,例如:
package name_of_1st_project;
在我的 java 源代码中,然后我得到构建错误“ 无法找到或加载主 class name_of_1st_project。
原因:java.lang.NoClassDefFoundError:name_of_1st_project/name_of_1st_project(错误名称:name_of_1st_project)"
为了解决这个问题,我将构建文件修改为:
{
"shell_cmd": "javac $file && java $file_base_name.name_of_1st_project"
}
它解决了问题,但只针对第一个项目。
我想使用正则表达式或任何可以在 sublime 构建系统文件末尾附加“.name_of_nth_project”的方法使其动态化。 我阅读了 sublime 文档,发现没有我可以使用的具有当前文件夹名称的变量(只是名称,不包括路径)。
我搜索了整个互联网,但没有找到确切的解决方案。请帮助。(也许我的意见可以帮助)
将 sublime 构建文件更改为:
{
"shell_cmd": "javac $file && java $file_base_name.$file_base_name"
}
但文件夹名称和包名称应与包含主要方法的文件名称相同。