命令行编译java项目_命令行编译运行java工程(转)

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

1.首先建立个跟目录MyJavaTest。

2.建立第一个MyJavaTest\src\com\common\sayHellojava,代码如下:

package com.common;

public class sayHello{

public void say(){

System.out.println("hello boy");

}

}

3.建立第二个java文件MyJavaTest\src\com\major\HelloWorld.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 src\com\common\sayHello.java命令编译sayHello.java文件生成对应的class文件,并存放在classes\src\com\common\目录,这里的-d命令,不用解释,也知道是什么意思了吧,classes是自定目的路径。

5.接着执行javac -cp classes -d classes src\com\major\HelloWorld.java编译HelloWorld.java文件生成对应的class文件,并存放在classes\src\com\major\目录。

然后进入classes目录下,执行Javacom.major.HelloWorld。终于成功了。

a453a26ac086826b09b7cad1760409f7.png 

编译HelloWorld.java需要引入sayHello这个类,同时还要 -cp classes表明classpath依赖路径为classes目录,告诉java编辑器到该目录下寻找sayHello类。不使用该命令,则需在环境变量里面添加classpath,但是这样,不同的工程构建,就需要改动一次其值,岂不是很麻烦。最后执行的时候,如何执行javaHelloWorld会报错,因为HelloWorld属于com.major包下,这是我的一时疏忽,不过从报错的顺序里,我们可以看出java编辑器载入执行类是如何查找该类的。

至此,纠结我多日的这一困惑,终于得到解决了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试鹅厂,我三面被虐的体无完肤……

戳蓝字“CSDN云计算”关注我们哦!作者 | codegoose来源 | https://segmentfault.com/a/1190000017864721经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于重拾面试信心,再次出征。鹅厂面试职位:go…

阿里云MaxCompute印度开服,加速大数据产业升级

摘要: 2018年1月18日,阿里云大数据计算服务MaxCompute将在印度正式开服。通过MaxCompute强大的计算能力,阿里云将加速印度大数据产业的全面升级。 点此查看原文:http://click.aliyun.com/m/40728/ 2018年1月18日,阿里云…

第14篇:Flowable-BPMN操作流程之任务完成

接上一篇: 第13篇: Flowable-BPMN操作流程之流程进展查看之流程图 https://blog.csdn.net/weixin_40816738/article/details/102902629 文章目录一、背景二、原理三、API3.1. 直接完成任务3.2. 完成任务并且设置任务参数四、实现4.1. 接口4.2. 接口实现4…

java垃圾回收 分代_Java分代垃圾回收策略原理详解

一、为什么要分代分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的。因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率。在Java程序运行的过程中,会产生大量的对象,…

MaxCompute Studio使用心得系列6——一个工具完成整个Python UDF开发

摘要: 2017/12/20 北京云栖大会上阿里云MaxCompute发布了最新的功能Python UDF,万众期待的功能终于支持啦,我怎么能不一试为快,今天就分享如何通过Studio进行Python udf开发。 点此查看原文:http://click.aliyun.com/m…

如何填报大数据相关专业? | Alfred数据室

戳蓝字“CSDN云计算”关注我们哦!作者 | AlfredWu来源 | Alfred数据室高考出分了,又是一年一度各位考生和家长手忙脚乱开始填报志愿的时候了。很多考生和家长纷纷咨询Alfred:大数据现在不是很火吗?大数据专业怎么样呀&#xff1f…

第15篇: Flowable-BPMN操作流程之排他网关

接上一篇: 第14篇:Flowable-BPMN操作流程之任务完成 https://blog.csdn.net/weixin_40816738/article/details/102902647 文章目录一、背景二、定义三、流程准备四、流程文件五、控制器六、流程通过验证6.1. 创建新流程6.2. 启动流程6.3. 控制台查看任务…

阿里云视频AI全能力解读

摘要: 结合人工智能视频理解流程和用户的需求场景,我们将视频AI的功能分成四个大部分,视频智能审核、视频内容理解、视频智能编辑、视频版权保护。其中视频审核功能包括视频鉴黄、暴恐涉政识别、广告二维码识别、无意义直播识别等&#xff0c…

阿里云智能视频 AI 重装来袭

摘要: 近日,阿里云重磅推出视频点播新功能——视频AI ,基于深度学习、计算机视觉技术和海量数据,为广大用户提供多场景的视频AI服务。 点此查看原文:http://click.aliyun.com/m/40809/ 近日,阿里云重磅推出…

Hadoop精华问答 | Hadoop框架中最核心的设计是什么?

Hadoop能够进行大批量数据的离线处理,但是在实时计算上的表现实在是不尽如人意;而Storm就可以担当这部分的角色,今天,就让我们看看关于Storm的精华问答吧。1Q:hadoop发展史A:2Q:Hadoop 有哪些优点?A&#x…

SpringBoot2.x整合Swagger2 实现API文档实时生成

我们提供Restful接口的时候,API文档是尤为的重要,它承载着对接口的定义,描述等,本文主要介绍了SpringBoot集成Swagger2生成接口文档的方法示例,需要的朋友们下面随着小编来一起学习学习吧 我们提供Restful接口的时候&a…

阿里云 ESS 弹性伸缩服务新功能来袭,更全面、更自动化的使用体验

摘要: 2017年9月阿里云弹性伸缩服务伸缩配置新增了实例自定义数据、秘钥对、实例RAM角色、标签新特性;近日,阿里云又发布了VSWitchIds.N多可用区新特性。 点此查看原文:http://click.aliyun.com/m/40810/ 弹性伸缩是一种根据业务需…

java 提取轮廓_TensorFlow 卷积操作模拟sobel算子提取图像轮廓

注意:sobel算子不保证结果在0-255,需要做一次归一化处理,再乘以255输出的数据shape与图像的shape不一样,需要一次转化效果代码import matplotlib.pyplot as plt # plt 用于显示图片import matplotlib.image as mpimg # mpimg 用于…

阿里云MaxCompute(大数据)公开数据集---带你玩转人工智能

摘要: 目前阿里云大数据产品已经免费向全部用户开放了多种公用数据集。开放的数据类别包括:股票价格数据,房产信息,影视及其票房数据。 点此查看原文:http://click.aliyun.com/m/40813/ 目前阿里云MaxCompute大数据产品…

豪投10亿!华为放话:3年培养100万AI人才!网友神回应了

近期,AI测试权威软件AI Benchmark的测试数据显示,中国华为研发的7nm旗舰手机芯片麒麟810的AI分数,远远超过美国高通骁龙855了!麒麟810芯片AI分数是3300多,名列第一。而骁龙855手机则是2700多。大家振奋的同时&#xff…

阿里云大数据利器Maxcompute学习之-假如你使用过hive

摘要: 如果您是一个大数据开发工程师并且使用过hadoop的hive框架,那么恭喜您,阿里云的大数据计算服务-Maxcompute,您已经会了90%。这篇文章就来简单对比下Maxcompute和hive的异同,来方便刚开始使用Maxcompute的用户&am…

阿里云大数据利器Maxcompute-使用mapjoin优化查询

摘要: small is beautiful,small is powerful 点此查看原文:http://click.aliyun.com/m/40815/ 大数据计算服务(MaxCompute,原名 ODPS)是一种快速、完全托管的 GB/TB/PB 级数据仓库解决方案。 https://help…

GitHub下载文件时缓慢的问题

用记事本打开hosts文件,路径为 C:\Windows\System32\drivers\etc将下面3行添加到hosts文件中 140.82.114.3 github.com151.101.185.194 github.global.ssl.fastly.net192.30.253.121 codeload.github.com以管理员身份运行CMD,执行命令ipconfig /flushdn…

阿里云大数据利器之-RDS迁移到Maxcompute实现动态分区

摘要: 当前,很多用户的业务数据存放在传统关系型数据库上,例如阿里云的RDS,做业务读写操作。当数据量非常大的时候,此时传系关系型数据库会显得有些吃力,那么会经常有将mysql数据库的数据迁移到[大数据处理…

SaaS前世今生:老树开新花

戳蓝字“CSDN云计算”关注我们哦!作者 | 文东海出品 | CSDN云计算(ID:CSDNcould)2019年3月26日,Adobe和微软宣布,两家公司准备展开一项合作,来提升双方的“销售和营销软件”的能力,进…