zoukankan      html  css  js  c++  java
  • 命令行编译运行java工程(转)

    平时建立Java工程都是借助eclipse或intellij这些ide编辑器来构建,对于java工程的实际编译执行原理,从未了解过。作为一个曾经的C++程序员,对于源码刨根问底的那份执着从未丢过。于是今天就写了这样的一个例子进行测试。 
    1.首先建立个跟目录MyJavaTest。 
    2.建立第一个MyJavaTestsrccomcommonsayHellojava,代码如下:

    package com.common;
    public class sayHello{
        public void say(){
         System.out.println("hello boy");
        }
    }

    3.建立第二个java文件MyJavaTestsrccommajorHelloWorld.java,代码如下:

    package com.major;
    import com.common.*;
    
    public class HelloWorld{
        public static void main(String[] args){
            sayHello sayhello = new sayHello();
            sayhello.say();
            //System.out.println("hello boy");
        }
    }

    4.在MyJavaTest跟目录下执行javac -d classes srccomcommonsayHello.java命令编译sayHello.java文件生成对应的class文件,并存放在classessrccomcommon目录,这里的-d命令,不用解释,也知道是什么意思了吧,classes是自定目的路径。 
    5.接着执行javac -cp classes -d classes srccommajorHelloWorld.java编译HelloWorld.java文件生成对应的class文件,并存放在classessrccommajor目录。 
    然后进入classes目录下,执行Java com.major.HelloWorld。终于成功了。 
    运行结果 
    编译HelloWorld.java需要引入sayHello这个类,同时还要 -cp classes表明classpath依赖路径为classes目录,告诉java编辑器到该目录下寻找sayHello类。不使用该命令,则需在环境变量里面添加classpath,但是这样,不同的工程构建,就需要改动一次其值,岂不是很麻烦。最后执行的时候,如何执行java HelloWorld会报错,因为HelloWorld属于com.major包下,这是我的一时疏忽,不过从报错的顺序里,我们可以看出java编辑器载入执行类是如何查找该类的。 
    至此,纠结我多日的这一困惑,终于得到解决了。

  • 相关阅读:
    07 selenium模块基本使用
    06 高性能异步爬虫
    05 request高级操作
    04 验证码识别
    03 数据解析
    02 requests模块
    01 爬虫简介
    Get和Post的正解
    pytoch之 encoder,decoder
    pytorch之 RNN 参数解释
  • 原文地址:https://www.cnblogs.com/keys9/p/6999764.html
Copyright © 2011-2022 走看看