Java命令与编译执行

一、最基础的编译运行:

在D盘根目录下进行测试:

public class Test{
    public void say(){
        System.out.println("ok");
    }

    public static void main(String[]args){
        new Test().say();
    }
}

以上代码写入:

d:\Test.java

然后在d盘目录下执行:

D:\ >javac Test.java

便能生产Test.class文件,文件同样位于D:\根目录下

再执行:

D:\ >java Test

便可成功运行main方法,看到输入结果"ok"

二、java类中指明了package

package com.cainiao.test;

public class Test{
    public void say(){
        System.out.println("ok");
    }

    public static void main(String[]args){
        new Test().say();
    }
}

这时,直接运行:

D:\ >javac Test.java

虽然可以成功得到Test.class文件,但是在运行时,却会报错找不到主类.

错误: 找不到或无法加载主类 Test

原因在于,这时类的全名为:com.cainiao.test.Test,运行时必须要指定全路径名。

Test.class文件不放在相应的包目录下,是不能运行的。编写一个类,编译成.class文件之后,然后随意放在一个目录下,并不等于就将该类放在了包中。,包名必须在源代码中,通过package语句指定,而不是靠目录结构确定。

因此,对于指定了package的类,使用命令:

D:\> javac -d . Test.java

进行编译,即可生成带有包目录的class文件,实际看到的效果为class文件放入了指定的文件夹下:D:\com\cainiao\test\Test.class

然后运行命令:

D:\> java com.cainiao.test.Test

即可得到输入“ok”

原文地址:https://www.cnblogs.com/shuhe-nd/p/11145896.html

时间: 2024-10-14 16:18:44

Java命令与编译执行的相关文章

在CMD窗口中使用javac和java命令进行编译和执行带有包名的具有继承关系的类

一.背景 最近在使用记事本编写带有包名并且有继承关系的java代码并运行时发现出现了很多错误,经过努力一一被解决,今天我们来看一下会遇见哪些问题,并给出解决办法. 二.测试过程 1.父类代码 1 package com.hafiz.zhang; 2 3 public class Fu 4 { 5 private Integer i ; 6 7 public void sayHello(String name) { 8 System.out.println("Hello " + name

Java 命令行编译项目

(初学者的一些总结-高手们勿喷哈-) 原因: 以前一直用Eclispe编程环境运行Java.非常舒服,就像用傻瓜相机照相一般. 有看见许多高手都是直接用vim编辑文件,命令行编译运行,觉得那样不是反而更繁琐? 转折点是在前几天本科毕设题目选定之后.毕设题是一个基于java 字节码的类关系动态分析.需要对.class文件中字节码进行更改(具体的说是在许多指令后加入做标记的新指令,以实现动态跟踪的目的). 我发现,eclipse根本无法如此灵活,他无法直接装载运行一个我修改过的.class文件.它是

java内存动态编译执行

1.package org.jui.core.dynamic; public class DynaCompTest { public static void main(String[] args) throws Exception { String fullName = "DynaClass"; StringBuilder src = new StringBuilder(); src.append("public class DynaClass {\n"); src

java 命令行 编译 运行程序

学习java使用IDE前最好先用用命令行的javac.java来跑一跑简单的程序,这样能够熟悉一下包管理对.class文件路径的影响. 我们先写一段简单的代码: package com.csdn.lkasdolka; public class test_1{ public static void main(String[] args){ for(int i = 0; i < 10; ++i ){ System.out.println(i); } } } 写好后保存为test_1.java,win

java 命令行 编译 执行程序

学习java使用IDE前最好先用用命令行的javac.java来跑一跑简单的程序,这样可以熟悉一下包管理对.class文件路径的影响. 我们先写一段简单的代码: package com.csdn.lkasdolka; public class test_1{ public static void main(String[] args){ for(int i = 0; i < 10; ++i ){ System.out.println(i); } } } 写好后保存为test_1.java,win

javac java 命令行编译运行程序

参考自:http://blog.csdn.net/xxyyww/article/details/5784803 前言: 在命令行运行JAVA的时候,要做的事情就不是点一下鼠标就可以了.如果再用到第三方JAR包,命令就更长了.一个比较好的方法就是使用ant,不过我发现一个问题,在命令行中使用ant的时候,它的输入和eclipse的console一样蛋疼.比如: Scanner in = new Scanner(System.in); System.out.println("请输入一个整数:&quo

Java 命令号编译运行时添加第三方库

虽然现在各种集成开发环境可以很方便的利用 BuildPath 的方式添加第三方的外部库, 但是对于初学者来说,掌握命令行javac 编译 java 运行的方式还是很有必要的.学习 classpath 选项的使用方法可以在不使用集成开发环境的情况先手动添加第三方的外部库. 工具准备: 文本编辑器 Coda2, 用作演示的 MySQL 驱动包 mysql-connector-java-5.1.36-bin.jar. 命令介绍: classpath 的使用方法: 命令形式: javac -classp

Maven 手动添加第三方依赖包及编译打包和java命令行编译JAVA文件并使用jar命令打包

一,实例:新建了一个Maven项目,在eclipse中通过 build path –> configure path-.将依赖包添加到工程中后,eclipse不报错了.但是用Maven命令 mvn clean compile 时出错如下: 原因是在eclipse中添加了 exteneral jar后,还需要在maven中再添加依赖的jar包 Maven手动添加第三方依赖包有两种方法: 参考:maven 添加第三方依赖              maven中把依赖的JAR包一起打包 第一种方法是使

java命令行编译和运行引用jar包的文件

经常遇到需要添加第三方jar文件的情况.在命令行状态下要加载外部的jar文件非常麻烦,很不好搞,在网上折腾了很久终于搞定了,在这里做个笔记: 1.编译:javac -Djava.ext.dirs=./lib Test.java 2.运行:java -Djava.ext.dirs=./lib Test ./lib是指存放第三方jar文件的目录.也可以写成绝对路径:/**/lib (试过了可以!)Test.java指包含main函数的类.