Java命令行编译源程序

原创 2012年03月21日 13:39:11
在命令行下,当源文件中含有package时,编译运行有问题了(前提是环境变量没问题),大概的问题如下:

1.  运行编译、执行

            javac ThreadTest.java
            java ThreadTest

            报错:

          找不到main方法,提示:Exception in thread "main" java.lang.NoClassDefFoundError 


假设需要编译的文件为D:\JaveWorkspace\ThreadTest\thread\ThreadTest.java

源文件中有package thread

编译、执行方法如下:

           1. 在thread目录下javac ThreadTest.java,在thread目录下生成ThreadTest.class和PrintThread.class
           2. 然后跳到工程目录下,即ThreadTest目录下,即可运行javathread.ThreadTestjava

 

==================================================================================

以下为引用

http://blog.csdn.net/tengyun_20/article/details/5934573,其中java的编译和运行,我的方法更简单些。

 

自己用Java,懒了,基本都用的IDE。所以很多问题都避开了。最近回归命令行,发现当源文件中含有package时,编译运行有问题了(前提是环境变量没问题),大概的问题如下:

 

      1.   普通程序,按照正常方式

            javac xxxxx.java

            java xxxx

            编译运行的话,会出现找不到main方法,提示:Exception in thread "main" java.lang.NoClassDefFoundError  的异常

 

      2.   如果是Applet,按照1中方式编译,然后使用   

            appletviewer xxxx.htm    

            运行的话,出现的窗口会显示不全。                          

            若是把xxxx.html直接使用IE打开(我的是IE8),会出现错误,右键点开提示,发现运行错误仍是提示:Exception in thread  "main" java.lang.NoClassDefFoundError  的异常。

 

    (以下假设包的路径为A.B.C  ,Java文件为xxxx.java,HTML文件为xxxx.html)

    然后自己网上找了一下,试了几个方法都不行,或许是自己操作不对。但是以下方法是正确的了,留此做备忘。

     1.   编译时,使用

            javac –d . xxxx.java   (注意–d^.^xxxx.java 中^位置上的空格 )

           这样会生成package路径

     2.   运行时

           java A.B.C.xxxx

           这样就OK了。

           如果是applet,则运行不变,但是要把HTML文件中的  

          <applet code="xxxx.class"">

           改为

          <applet code="A.B.C.xxxx.class"> 即可。

版权声明:本文为博主原创文章,未经博主允许不得转载。

使用命令行编译并运行应用程序

如何使用命令行工具来编译一个C#源文件呢? 前提条件:必须安装一个Visual Stdio,版本自选;建议安装2010以后的版本,本示例以Visual Stdio 2013为例; 打开记事本...
  • qq_15567051
  • qq_15567051
  • 2015年09月26日 20:46
  • 1154

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

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

Java源码,编译后会生成一种.class文

相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的。   那么,跨平台是怎样...
  • qifutao0301
  • qifutao0301
  • 2016年01月03日 18:42
  • 537

命令行编译运行java工程

平时建立java工程都是借助eclipse或intellij这些ide编辑器来构建,对于java工程的实际编译执行原理,从未了解过。作为一个曾经的C++程序员,对于源码刨根问底的那份执着从未丢过。于是...
  • qile0772
  • qile0772
  • 2015年12月16日 23:51
  • 1757

Java 命令行下编译和运行带包名的类

在test包中有test类: package test; public class Test { public static void main(String[] args) { Syste...
  • l294265421
  • l294265421
  • 2015年04月28日 12:28
  • 2671

利用cmd(Windows)编译c\c++源程序

现在编写程序有了各种各样的IDE,方便了很多。就在想能不能在Windows系统上想linux那样用命令行编译、连接程序。在百度上看了下,方法挺简单的。       只要我们的电脑上安装了MInGW就可...
  • qq_31917799
  • qq_31917799
  • 2016年08月23日 14:34
  • 4498

命令行模式下编译多个C/C++源文件

最近在学习linux,需要经常使用命令行,这时才发现熟悉命令行之后,命令行真的很强大,也很有逼格 由于在linux系统中需要在命令行格式下对C语言进行编译,顺便也研究了一下windows系统下的命令行...
  • mountzf
  • mountzf
  • 2016年06月10日 12:43
  • 1357

Java源文件的编译、下载、解释和执行

一、Java源文件的编译、下载、解释和执行1. 执行java程序的步骤:Java源文件(程序员编写的*.java文件),使用javac编译生成*.class文件(字节码文件),然后使用java解释执行...
  • zcl_love_wx
  • zcl_love_wx
  • 2016年05月05日 22:46
  • 636

用命令编译、运行java项目(多个源码包,依赖第三方jar包)

首先项目的接口采用eclipse向导生成的java-web结构,如下图所示
  • afeiluo
  • afeiluo
  • 2014年10月20日 16:02
  • 6460

一个使用命令行编译Android项目的工具类

一个使用命令行编译Android项目的工具类简介编译apk项目需要使用的几个工具,基本都在sdk中,它们分别是(Windows系统): 1.aapt.exe 资源打包工具 2.android.jar...
  • NUPTboyZHB
  • NUPTboyZHB
  • 2016年01月10日 22:37
  • 2766
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java命令行编译源程序
举报原因:
原因补充:

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