代码之家  ›  专栏  ›  技术社区  ›  Paul Lammertsma

Java Jar中忽略的参数

  •  4
  • Paul Lammertsma  · 技术社区  · 14 年前

    我正在Ubuntu 10.10上运行以下代码,使用OpenJDK 1.6.0_18:

     package mypkg;
     public class MyTest {
       public static void main(final String[] args) {
         System.out.println(args.length + " argument(s)");
         for (final String arg : args) {
           System.out.println(arg);
         }
       }
     }
    

    0 argument(s) :

    java-jar mytest.jar这是一个测试

    这是我对 the Java docs ,声明:

    我几乎感觉到我在终端输入了一个错误的命令。给什么?

    编辑: MANIFEST.MF包含:

    Manifest-Version 1.0
    Created-By: 1.6.0_18 (Sun Microsystems Inc.)
    Main-Class: mypkg.Starter
    Class-Path: .
    
    3 回复  |  直到 14 年前
        1
  •  3
  •   Rob Hruska MegalomanINA    14 年前

    看看你的内容 META-INF/MANIFEST.MF 文件;确保 Main-Class 正在使用正确的类。

        2
  •  2
  •   Joachim Sauer    14 年前

    mkpkg.MyTest 作为主类文件,而您实际发布的文件名为 mypkg.MyTest .

    另外,您在清单中指定了一个类路径“.”,这充其量是多余的,但可能会导致您看到的问题(因为您可能有一个名为 mkpkg

        3
  •  1
  •   cb0    14 年前

    如果您知道您的主类,那么就可以不使用-jar选项。

    java -classpath .:my_jar_file.jar; package.MainClass [arguments]