java类运行_java命令行编译 运行JAVA类[class]

该博客介绍了Java代码的编译和运行过程,包括 HelloWorld 示例及带有外部依赖的 HelloInput 类。通过示例详细解释了如何使用 javac 编译器以及如何设置 CLASSPATH 环境变量来处理类路径问题,同时也展示了当类路径配置不当时可能出现的错误及解决办法。
摘要由CSDN通过智能技术生成

代码:

package com.yanjiuyanjiu;

public class HelloWorld {

public static void main(String args[]) {

System.out.println(“Hello World!”);

}

}

执行:

d:\workspace\HelloWorld\bin\>java -classpath .; com/yanjiuyanjiu/HelloWorld

结果:

Hello World!

例子 1

示例代码

Java代码 8cf822af10da428dadebc6163e83c0c0.pngpackage com.Javasoft;

public class Hello{

public static void main(String[] args){

System.out.println("Hi ?");

}

}

目录结构

mytestproject

|--  SRC

|-- com

|--Javasoft

|-- Hello.java编译开始

进入命令窗口

D:\mytestproject>javac -d classes src/com/Javasoft/Hello.java

D:\mytestproject>运行

D:\mytestproject>cd classes

D:\mytestproject\classes>java com.Javasoft.Hello

Hi ?

D:\mytestproject>

例子 2示例代码

Java代码 8cf822af10da428dadebc6163e83c0c0.pngpackage com.Javasoft;

import java.io.PrintStream;

import com.kettas.common.*;

public class HelloInput{

public static void main(String[]args){

System.out.println("Hi ,what will you say? :");

String str = com.kettas.common.SystemIn.readString();

System.out.println("You just told me that:");

System.out.println(str);

}

}

备注: HelloInput类,编译运行都依赖额外JAR文档(见附件)。

下面是编译以及 运行都通过的方法

将所依赖的JAR文档(kettas_common.jar)添加至环境变量 CLASSPATH之下

变量名:CLASSPATH

变量值:.;%JAVA_HOME%\lib;D:\mytestproject\lib\kettas_common.jar

然后运行

D:\mytestproject>cd classes

D:\mytestproject>classes>java com.Javasoft.HelloInput

下面是一次简单的尝试

ef068b6508e66066570e4539b63e9551.gif 编译成功 运行失败

将依赖的JAR包 copy至lib目录 D:\mytestproject\lib\kettas_common.jar

编译:

D:\>cd mytestproject

D:\mytestproject>cd classes

D:\mytestproject\classes>java com/Javasoft/HelloInput.java

Exception in thread "main" java.lang.NoClassDefFoundError: com/Javasoft/HelloInp

ut/java

Caused by: java.lang.ClassNotFoundException: com.Javasoft.HelloInput.java

at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:252)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

Could not find the main class: com/Javasoft/HelloInput.java.  Program will exit.下面是另一种尝试 成功运行

将运行需用的SystemIn.class 文件拷贝至classes目录下

新结构如下

D:program\mytestproject

|--- classes

|---Javasoft

|-- com

|---.....

|--kettas

|--com

|----.........

D:\mytestproject\classes\java com.Javasoft.HelloInput

技能成功运行

阅读(847) | 评论(0) | 转发(2) |

给主人留下些什么吧!~~

评论热议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值