zoukankan      html  css  js  c++  java
  • 如何在命令提示符下编译运行含有Package的java文件

    这篇是大二自学Java的时候记下的笔记,中午回顾印象笔记的时候意外看到了这篇。看到多年前写下的文字,我想起那时候我对Java的懵懵懂懂,每天晚上在图书馆照着书写书上的示例代码,为一个中文分号绞尽脑汁,为命令提示符上打印出的图案而兴奋。到现在我依然觉得,一个从没有过编程经验的人在屏幕上打印出Hello World 的时候,他真的感觉是对一个全新的世界说了句“你好,我来了”。

    尽管现在来看那时候遇到的问题现在看来真的是很简单,甚至可以说是很蠢的,但我依然感激当初那个再图书馆写代码的自己。正是这一点一滴简单的愚蠢的积累才有了今天的编程能力,现在我可以自己开发一个网站后台,这在当时的我看来是绝对不敢相信的事。

    因此我也希望对刚接触编程的朋友们说一句,如果你想学编程,不要好高骛远,只需要从一点一滴做起,积累遇到的问题(如果有精力还应该写成博客),坚持写代码,总有一天你会感激自己当初的坚持的。因为很多时候最重要的事情并不是你究竟做到了何种程度,而是你究竟有没有做,坚持做一件事,并为之付出努力,这就是成功(狭义的)的方法。


    在用Eclipse编译运行java文件时不用考虑Package的问题,但是如何在命令提示符下运行添加Package后的java文件呢?
    package test;
    import test.B;
    public class A {

     public static void main(String[] args) {
          B b=new B();
          b.print();
     }
    

    }
    package test;
    public class B {
    void print(){
    System.out.println("ok!");
    }
    public static void main(String[] args) {
    }

    }

    我在D:workspace estsrc est目录下有两个.java文件A.java和B.java,那么我该如何编译这两个文件呢?此时用命令提示符执行javac语句编译A.java会显示错误

    我们在A中调用了B中的方法,所以只编译A,B是不会被编译的。要解决此问题需要同时编译A和B。而A和B同在test包 下,所以我们找到test所在目录D:workspace estsrc,在cmd中执行命令 java . est*.java 。此时A和B两个文件同时编译通过了。

    再用java命令去执行A,发现直接用java A来运行会报错。切换到A所在的D:/workspace/test/src/test 目录下执行依然会报错。由于我们之前的编译的时候是在Package所在的目录,那么我执行的时候要执行test下的A文件。

    在D:workspace estsrc 目录下执行java test.A ,运行成功。

  • 相关阅读:
    P4365 [九省联考2018]秘密袭击coat
    P3705 [SDOI2017]新生舞会 01分数规划+费用流
    P4313 文理分科 最小割
    P1707 刷题比赛
    P3994 高速公路 树形DP+斜率优化+二分
    P3384 【模板】树链剖分
    P4915 帕秋莉的魔导书
    P3690 【模板】Link Cut Tree (动态树)
    P3615 如厕计划
    loj #2538. 「PKUWC2018」Slay the Spire
  • 原文地址:https://www.cnblogs.com/rever/p/8033911.html
Copyright © 2011-2022 走看看