zoukankan      html  css  js  c++  java
  • javac java命令的使用(java运行带包名class文件报找不到或无法加载主类)

    使用javac命令编译带包名的类,然后再使用java命令运行编译后的class文件很容易报找不到或无法加载主类,原因是使用javac编译java文件时没有添加-d选项使每一级包编译为对应的文件夹

    eg:

    扩:

    1、如果java文件中有中文,必须在javac编译的时候用-encoding选项指定编码,java运行的时候不用再-encoding了,如:

    javac -encoding UTF-8 xx.java

    javac -encoding "UTF-8" xx.java

    选项值既可以加引号,也可以不加引号

    2、如果java文件中有引用其他jar包内的文件,必须编译和运行的使用使用-classpath或-cp(classpath的缩写)选项指定寻找的jar包(多个jar包之间用分号分割,最好指定一下用点号表示的当前目录,否则运行时会找不到当前类的class文件),如:

    javac -encoding UTF-8 -classpath ".;a.jar" xx.java -d . 

    java -encoding "UTF-8" -cp .;a.jar x.xx

    选项值既可以加引号,也可以不加引号

    2.1、写程序的时候,会使用import语句来引入一些已经写好的类,设置CLASSPATH就是告诉编译器要如何去哪里找引用的类;sun 为我们提供了一些额外的丰富的类包,一个是 dt.jar,一个是 tools.jar,这两个 jar 包都位于%JAVA_HOME%lib 目录下,所以通常我们都会把这两个 jar 包加到我们的 classpath 环境变量中设置” CLASSPATH : %JAVA_HOME%libdt.jar; %JAVA_HOME%lib ools.jar;”(前面的“.”不可少,它代表了我们为自己的java类建立的工作路径,其它的是jdk自带的标准类库路径)

    在jdk1.6以后,不用设定CLASSPATH,仍然能够找到jdk的类库,编译基本的JAVA程序。

  • 相关阅读:
    UVa 1151 Buy or Build【最小生成树】
    UVa 216 Getting in Line【枚举排列】
    UVa 729 The Hamming Distance Problem【枚举排列】
    HDU 5214 Movie【贪心】
    HDU 5223 GCD
    POJ 1144 Network【割顶】
    UVa 11025 The broken pedometer【枚举子集】
    HDU 2515 Yanghee 的算术【找规律】
    Java基本语法
    Java环境变量,jdk和jre的区别,面向对象语言编程
  • 原文地址:https://www.cnblogs.com/jetqiu/p/12016187.html
Copyright © 2011-2022 走看看