当前位置: 首页 > 知识库问答 >
问题:

无法使用完全限定名从CMD启动java文件

甄伟兆
2023-03-14
Boss@DESKTOP-F8O3V2Q /cygdrive/c/eclipse/workspace/MVN/3cx-driver/src
$ java com.software._3cx.main.PBXConnection
Error: Could not find or load main class com.software._3cx.main.PBXConnection
package com.software._3cx.main;

public class PBXConnection extends Proxy {

public PBXConnection(ServerSettings settings) {
    super(settings);
}

public static void main(String args[]) {
....
C:\eclipse\workspace\MVN\3cx-driver\src>tree
Folder PATH listing for volume OS
Volume serial number is 00000074 D019:C44D
C:.
└───com
    └───software
        └───_3cx
            └───main
C:\eclipse\workspace\MVN\3cx-driver\src\com\software\_3cx\main>dir
 Volume in drive C is OS
 Volume Serial Number is D019-C44D

 Directory of C:\eclipse\workspace\MVN\3cx-driver\src\com\software\_3cx\main

06/04/2017  16:31    <DIR>          .
06/04/2017  16:31    <DIR>          ..
06/04/2017  16:22               115 EventProcessor.java
06/04/2017  16:31             1,434 PBXConnection.class
06/04/2017  16:21             1,994 PBXConnection.java
               3 File(s)          3,543 bytes
               2 Dir(s)  355,750,649,856 bytes free

编辑:

Boss@DESKTOP-F8O3V2Q /cygdrive/c/eclipse/workspace/MVN/3cx-driver/src
$ javac -cp C:/Apache/apache-tomcat-7.0.56/lib/orderlycalls.jar com/software/_3cx/main/PBXConnection.java

Boss@DESKTOP-F8O3V2Q /cygdrive/c/eclipse/workspace/MVN/3cx-driver/src
$ java -cp C:/Apache/apache-tomcat-7.0.56/lib/orderlycalls.jar com.software._3cx.main.PBXConnection
Error: Could not find or load main class com.software._3cx.main.PBXConnection

编辑:实际上我使用的是Java7(我认为Java8正在运行),但它不是

Boss@DESKTOP-F8O3V2Q ~
$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

Boss@DESKTOP-F8O3V2Q ~
$ javac -version
javac 1.7.0_79

Boss@DESKTOP-F8O3V2Q ~
$ which java
/cygdrive/c/Program Files/Java/jdk1.7.0_79/bin/java

Boss@DESKTOP-F8O3V2Q ~
$ which javac
/cygdrive/c/Program Files/Java/jdk1.7.0_79/bin/javac

共有1个答案

梁马鲁
2023-03-14

通常,在类似Linux的系统中,您将使用冒号设置类路径,如下所示:

java -cp "somelibrary.jar:." MyMainClass
                         ^

但是,如果您使用Windows java,您将得到您删除的错误,指示java无法找到您指定的类。

如果确保类路径中有一个分号,它应该可以很好地运行主类:

java -cp "somelibrary.jar;." MyMainClass
                         ^
 类似资料:
  • 所以我试着在我的Mac上的终端上运行这个。我的文件路径是/users/admin/documents/java/java24/com/java24hours 我尝试在java24hours目录“java saluton.java”中运行,并返回一个“error:Could not find或load main class saluton.java” 据我所知,这与包裹有关。我研究了包名,但不明白完

  • 如何有效地获得简短的完全限定类名。例如,如果我们通过了“com.test.student”,我们需要得到“c.t.student”。

  • 问题内容: 我正在尝试从Java应用程序调用cleartool,但是 即使对于简单的“ -version”参数,cleartool也会挂起。运行cleardiff而不是cleartool 可以正常工作,因此显然cleartool 程序有一些特定的东西(我认为这与其交互功能有关)。 以下程序 gives the following output hanging on the execution of

  • 问题内容: 在SQL Server中使用完全限定的表名是否会对性能产生影响? 我有一个查询,在这里我要连接不同数据库中的两个表。DBA建议在主机查询中省略数据库名称,我猜这是出于性能或惯例的考虑。 所有表完全合格 首选? 这实际上有区别吗? 问题答案: 通常最好使用完全限定的名称,但要考虑一些注意事项。我会说这在很大程度上取决于要求,并且一个答案可能无法满足所有情况。 请注意,这只是一个编译绑定,

  • 问题内容: 启动的进程无法创建临时文件。 在Eclipse的Maven插件中使用 从启动报价: 完整日志 演示代码段遇到相同的错误。 更新: 传递TMP和TEMP环境变量无济于事。 通过 而不是也无济于事。 如果envp为null,则子进程继承当前进程的环境设置。 问题答案: 通过传递一组环境变量来解决。