[Debug]Windows下命令行编译java程序,文件组织/问题/解决

原创 2015年07月11日 00:18:58
   问题描述:想了解下java程序的具体的编辑到运行的过程,于是花了点时间写了个简单的HelloWorld测试了下,Win7的OS,非linux下。内容包括手动建立工程文件的目录,用notepad编辑一个HelloWorld类源程序,使用javac将源程序转为字节码格式的.class文件,最后使用java执行程序输出"HelloWorld!"。
   该过程中出现的问题就是用java执行时出现了
“Exception in thread "main"java.lang.NoClassDefFoundError:”的错误。对该问题进行了测试并做了解决。
   工程文件的建立:参考了Android源代码工程文件的组织,建立的工程文件目录如下:
FileComposePrj
|--libs
|--res
|--src
  |--com
     |--ethan
       |--compose_test
          |--HelloWorld.java
|--bin
  |--res
  |--classes
   这个工程名字取做“FileComposePrj”,libs用于放置.jar文件(相当于库文件),res文件夹放置图片,.xml文档等资源文件,src文件夹下放置源代码,都是.java文件,最后bin文件夹里放javac过后的.class文件。这个组织结构是参考的Android工程的。
   然后在src文件夹下根据自己的需要陆续新建了一列文件夹,最后是.java源代码文件,
packagecom.ethan.compose_test;

//一个public类,含有main方法,打印HelloWorld!
public class HelloWorld {
   public static void main(String[] args) {
       System.out.println("HelloWorld!");
   }
}
  编译程序:应该是叫做解释吧,将.java文件解释成字节码.class文件,使用javac命令:
从cmd中用cd命令切换到FileComposePrj目录下,然后
javac -d bin\classessrc\com\ethan\compose_test\HelloWorld.java

    在bin\classes下会根据packagecom.ethan.compose_test;自动创建对应的文件夹和.class文件:

    执行程序:使用
javabin\classes\com\ethan\compose_test\HelloWorld
    结果出现问题了

   然后查找了一些资料,有说环境变量配置不正确的,也有说代码写错的,这里的问题就是HelloWorld类找不到,于是比较了下自己的程序,因为第一行有个package,因此在使用javac的时候也是自动根据这个包路径来创建类的路径的,bin下到classes文件夹是自己建的,但是com\ethan\compose_test都是自动创建的,于是想着是不是这样出来的class文件不能直接用\来找到呢,于是先
cd bin\classes
切换到classes目录下,然后再
javacom.ethan.compose_test.HelloWorld
就能正确执行了。
[Java]Windows下命令行编译java程序,文件组织/问题/解决
   问题回顾:这次出现的问题就是在源.java文件中使用了包路径packagecom.ethan.compose_test;然后在使用javac的时候会自动创建这个包的路径包含的文件夹的,再然后使用java的时候,就不能直接用com\ethan\compose_test\HelloWorld来找到这个class文件,而是要与包路径的格式一致才行(使用com.ethan.compose_test.HelloWorld)。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

命令行运行java程序(windows环境下)

首先要说明以下,本人写博不多,原来在Iteye写一些自己遇到的问题,但发现它的编辑工具真是太落后了,格式经常出问题不说, 它的可见既所得编写模式就是shit,编写完之后格式乱的一沓糊涂。 ...

在Windows命令行运行java程序

1;前提以配置好环境了。jdk安装完毕了。2;先建立txt文件,敲好代码;在这里有个注意的地方,要注意你的txt是否显示出来,如果没有显示出来那就是设置隐藏了文件后缀名一定要显示出来,怎么看是否隐藏后...
  • zw1996
  • zw1996
  • 2016年10月23日 23:58
  • 2280

java SE运行环境在windows下的配置和命令行方式编译与运行java程序

在配置环境之前,先了解为什么要配置环境?

如何把使用命令行或者Eclipse将Java程序打包为jar文件

如何把写好的Java程序打包为jar文件呢?有两种方式可以选择 1.命令行的方式: 打包 jar cf JAR文件名称 程序文件名称或者程序所在的文件夹 举例: jar cf MyA...

命令行运行java程序,将控制台日志保存到指定文件

有个程序。命令行启动命令为 java -verbose sample.DesktopApp在控制台看到打印日志。 将日志按照日期保存到指定文件中,以备查验。#!/bin/bash LOG_PATH=...

如何用命令行编译、运行第一个java程序(Hello World!)

一、什么是命令行(Windows下)?         命令行(Command Processor)(CMD)是在OS / 2 , Windows CE与Windows NT平台为基础的操作系统(包括...

java程序用命令行编译

原创全是自己走多了弯路,告诫大家别这样,共勉!

如何使用命令行编译运行java程序

在使用java编程的时候,一般来说我们都是通过使用IDE来编写运行程序的,但是学会使用命令行来编译运行java程序还是很有必要了!!...

Java程序在命令行下编译运行打Jar包

本次练习在命令行下编译运行java程序,以及将java程序打jar包运行。一、本程序有三个类, Teacher类:public class Teacher { private String ...

命令行编译运行Java程序时,加载指定目录中的Jar包

命令行编译运行Java程序时,加载指定目录中的Jar包 [java] view plain copy   编译:javac -Djava.ext.dirs=./lib Test.j...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Debug]Windows下命令行编译java程序,文件组织/问题/解决
举报原因:
原因补充:

(最多只允许输入30个字)