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

  • 相关阅读:
    防止sql注入的小函数 以及一些小验证
    PHP几个防SQL注入攻击自带函数区别
    redis配置文件.conf和常用配置
    redis常用命令
    redis数据类型
    redis的安装和简单操作
    yum CentOS7安装mysql
    Linux安装mysql
    firewall-cmd 常用命令
    解决linux下启动tomcat找不到jdk
  • 原文地址:https://www.cnblogs.com/jetqiu/p/12016187.html
Copyright © 2011-2022 走看看