zoukankan      html  css  js  c++  java
  • 踩过的“坑”: 命令行指定Java class path

    2014.7.24 上午

      写了一个最简单的Java class

    1 public class Hello{
    2     public static void main(String[]args){
    3     System.out.println("Hello,java");
    4     }
    5 }

    然后用gradle编译打包成jar文件,运行

    java Hello -cp test.jar 

    报错

    Exception in thread "main" java.lang.NoClassDefFoundError: Hello
    Caused by: java.lang.ClassNotFoundException: Hello
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

    jar tvf test.jar。很明显Hello.class存在于jar中。

         0 Thu Jul 24 11:27:00 CST 2014 META-INF/
        25 Thu Jul 24 11:27:00 CST 2014 META-INF/MANIFEST.MF
       517 Thu Jul 24 11:26:56 CST 2014 Hello.class

    非常诡异,google半天无发现。然后灵机一动,调整了参数顺序:

    java -cp ScalaTest.jar Hello

    成功。。。。。。

    对这种命令行无力吐槽。

  • 相关阅读:
    python爬虫基础(requests、BeautifulSoup)
    python中字典按键、值进行排序
    进程和线程的区别
    MySQL中的索引
    python中浅拷贝和深拷贝的区别
    谈谈final、finally、finalize的区别
    python中布尔值是false
    生成器的阐释
    文件处理
    内置函数
  • 原文地址:https://www.cnblogs.com/linghuaichong/p/3865203.html
Copyright © 2011-2022 走看看