[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)。
版权声明:本文为博主原创文章,未经博主允许不得转载。

用命令行编译Windows程序

基本设置:1. 解压vc71.zip到c:/2. 在vc71目录中建立两个新的.bat文件:clean.bat --->SET MSVCDir=c:/vc71SET VC_TOOL_PATH=%MSV...
  • litowen
  • litowen
  • 2004年09月01日 14:08
  • 2623

linux下编译、运行、调试java程序

一. 下载jdk5.0 for linux(现在应该有新版本了)   到sun的主页 http://java.sun.com/j2se/1.5.0/download.jsp 下载jdk安装文件 二...
  • djy37010
  • djy37010
  • 2017年03月21日 14:31
  • 3967

qt for Windows命令行编译问题

我用qt creator编译的代码完全能通过,但是却遇到一个小问题,就是用命令行始终无法编译成功。不过经过半天摸索,总算解决了命令行编译的问题,虽然比较麻烦,但是也记录一下吧。解决步骤如下:1. 首先...
  • rsp19801226
  • rsp19801226
  • 2010年04月28日 16:16
  • 4669

Windows 下使用命令行编译C/C++文件

对于一些比较小的测试程序来说,使用IDE编译太费时间,这篇博客简单介绍一下如何在安装了Visual Studio系列的Windows上使用原生的编译工具来编译C/C++。 Visual Studio...
  • u010602592
  • u010602592
  • 2016年01月15日 19:59
  • 4461

命令行编译C++(Linux下、Windows下)

本文对如何在命令行(Linux 和 Windows)下进行C++程序的编译做了一个简单的整理,涉及C++编译过程和GCC、G++、CL、LINK的使用等内容。...
  • leonliu06
  • leonliu06
  • 2017年10月13日 19:09
  • 465

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

在使用java编程的时候,一般来说我们都是通过使用IDE来编写运行程序的,但是学会使用命令行来编译运行java程序还是很有必要了!!...
  • u011043551
  • u011043551
  • 2017年05月20日 11:52
  • 776

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

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

Qt Windows 命令行编译环境搭建

搭建这个环境主要是为了在学习Qt开发过程中做代码练习使用 前提条件: 机器上已经可以实现在QtCreater上开发执行程序 如果没有,可以参考这个链接 http://blog.csdn.net/s...
  • suxw80then
  • suxw80then
  • 2014年12月13日 23:43
  • 2545

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

一、什么是命令行(Windows下)?         命令行(Command Processor)(CMD)是在OS / 2 , Windows CE与Windows NT平台为基础的操作系统(包括...
  • linweibin95
  • linweibin95
  • 2016年08月28日 10:31
  • 14594

windows 下 tomcat 内存设置(处理tomcat 内存溢出异常)

在 bin目录下的catalina.bat 文件 中的大多rem 后 ,大概在82行 添加这一行 set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxNe...
  • liuao107329
  • liuao107329
  • 2016年06月16日 14:17
  • 229
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Debug]Windows下命令行编译java程序,文件组织/问题/解决
举报原因:
原因补充:

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