• 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程序。

  • 相关阅读:
    ndk的注意事项
    git
    centos 7 linux x64
    linuxGame:文明5汉化
    pycharm something
    linux soft
    jsfl脚本设置导出AS链接名遇到的奇怪问题
    jsfl调整笔刷的笔触和颜色
    [转]FINDSTR正则表达式小结
    [转]关于SVN的操作批处理示例
  • 原文地址:https://www.cnblogs.com/jetqiu/p/12016187.html
Copyright © 2020-2023  润新知