蔡香满屋
站在牛顿头上吃苹果
随笔 - 199,  文章 - 0,  评论 - 0,  阅读 - 56万

首先,编写一个类的源码如下:

1
2
3
4
5
6
7
8
public class JavaTest {
    public static void main(String[] args) {
        for (int i = 0; i < args.length; i++) {
            System.out.println(args[i]);
        }
        System.out.println("-Xmx"+ Runtime.getRuntime().maxMemory()/1024/1024+"M");
    }
}

然后执行javac JavaTest.java,接着执行java JavaTest,则会报这个错:

 

 那么在上面的报错情况下,我们该如何来解决这个问题呢?答案如下:

第一执行javac -d . JavaTest.java进行编译,得到的结果是多一个包文件夹如com\example\demo\JavaTest.class,

第二执行java -Xmx1024m com.example.demo.JavaTest(带包名的类全名) a 命令进行运行!得到结果如:

 

 最后解释下:

javac -d . 的作用:

-d参数用于指定生成class文件的位置,.(点号)表示当前目录。

-d参数的作用是指定生成java包的根目录,"-d ." 表示在当前目录上编译生成java包。

如果省略了-d,则仅仅是在当前目录生成的class文件。大多数情况都是编译生成java,尽量使用-d参数

posted on   蔡香满屋  阅读(435)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示