【问题标题】:Running a java program with multiple jar files and classes [duplicate]运行具有多个 jar 文件和类的 java 程序 [重复]
【发布时间】:2015-05-21 08:39:33
【问题描述】:

我正在编译一个包含多个 jar 文件(在 lib 文件夹内)和类(在 src/com 文件夹内)的程序:

javac -classpath lib/\* src/com/*.java

我输入这个来运行程序:

java -cp lib/\* src/com/okc

但它不起作用。相反,我得到了这个:

Error: Could not find or load main class src.com.okc

okc.java 是包含主要方法的类。如何运行具有多个 jar 文件和类的 java 程序?

【问题讨论】:

  • 这些技巧你试过了吗here
  • 你试过java -cp lib\*.jar;. com.okc吗?

标签: java jar javac


【解决方案1】:

Java 类文件不仅仅是文件本身。代表类包的目录结构是类文件的一部分。您的类路径需要指向作为最顶层包目录的父目录。

假设你的类是用package com;声明的,最顶层的包目录是com。因此,您的类路径中需要com

java -classpath src:lib/\* com.okc

如果你的类不包含任何package语句,而你恰好把它放在com目录下,那么它属于空包,其父目录是com本身:

java -classpath src/com:lib/\* okc

附加说明:Java 约定类名和它们各自的文件名以大写字母开头。原因之一是它使类名易于与包组件区分开来。

【讨论】:

    【解决方案2】:

    试试:

    java -cp ../lib/\* com.okc
    

    来自 src 目录(不确定...)

    【讨论】:

    • Nope :( 仍然出现错误:无法找到或加载主类
    • 你是从 src 目录执行的吗?
    【解决方案3】:

    假设你的当前目录有你的 lib/ :

    java -cp lib src.com.okc

    【讨论】:

    • 仍然收到错误错误:无法找到或加载主类:/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 2016-08-13
    • 2015-01-29
    • 2015-03-22
    • 2016-05-21
    • 2012-12-05
    相关资源
    最近更新 更多