参考 :https://www.cnblogs.com/lwmp/p/11686139.html

1 没有 package, 没有 import 的情况

  • 源文件
  1. public class HelloWorld{
  2. public static void main(String[] args){
  3. System.out.println("Hello world");
  4. }
  5. }
  • 编译
    javac ./HelloWorld.java
    编译后会在当前目录生成 HelloWorld.class文件
    运行
    java HelloWorld

2 有package, 没有import 的情况

  • 源文件
  1. package java.learn;
  2. public class HelloWorld{
  3. public static void main(String[] args){
  4. System.out.println("Hello world");
  5. }
  6. }


编译
编译之后会生成 ./java/learn/HelloWorld.class
* 运行
java java.learn.HelloWorld

3 有package, 也有import使用外部Jar包的情况

  • 源文件
    ```java package java.learn; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class HelloWorld{

    private static final Log logger = LogFactory.getLog(“com.qq.hello.HelloWorld”);

    public static void main(String[] args){

    1. System.out.println("Hello world");
    2. System.out.println(logger.getClass().getName());

    }

}

  1. * 在当前目录下建立子目录 ./lib/<br />* lib目录下放入commons-logging-1.1.3.jar jar包的下载地址为 https://repo1.maven.org/maven2/commons-logging/commons-logging/1.1.3/commons-logging-1.1.3.jar<br />* 编译<br />javac -cp .\lib\commons-logging-1.1.3.jar -d . .\HelloWorld.java<br />* 运行<br />java -classpath ".;./lib/*" com.qq.hello.HelloWorld<br />分
  2. <a name="rO7x9"></a>
  3. # 4. 多文件编译,包引用文件编译、运行
  4. [https://blog.csdn.net/hong201/article/details/3954603?utm_source=blogxgwz8](https://blog.csdn.net/hong201/article/details/3954603?utm_source=blogxgwz8)
  5. ===>没有包的类 编译与运行
  6. javac ArrayFind.java<br />java ArrayFind.clas
  7. ===>带有包的编译和运行<br />编译(在JavaLearnProject/src目下 执行命令)<br />➜ src javac -d ../out com/letus/learn/module/*.java<br />➜ src javac -d ../out com/letus/learn/*.java
  8. 运行 (在JavaLearnProject目下)<br />java -cp out com.letus.learn.QuickSort
  9. 目录
  10. ```bash
  11. ├── out
  12. │ └── com
  13. │ └── letus
  14. │ └── learn
  15. │ ├── QuickSort.class
  16. │ └── module
  17. │ └── BaseTool.class
  18. └── src
  19. └── com
  20. └── letus
  21. └── learn
  22. ├── QuickSort.java
  23. └── module
  24. └── BaseTool.java

运行结果

  1. JavaLearnProject java -cp out com.letus.learn.QuickSort
  2. tmp=49,low=0,high=4
  3. out->tmp=49,low=2,high=2
  4. 23,38,49,97,65,
  5. tmp=23,low=0,high=1
  6. out->tmp=23,low=0,high=0
  7. 23,38,49,97,65,
  8. tmp=97,low=3,high=4
  9. out->tmp=97,low=4,high=4
  10. 23,38,49,65,97,
  11. 排序后:
  12. 23
  13. 38
  14. 49
  15. 65
  16. 97
  17. Hello Tools