关于windows:Java无法找到我的主要内容

Java can't find my main

本问题已经有最佳答案,请猛点这里访问。

我一直致力于将Java应用程序从Solaris服务器移植到Windows服务器。我终于得到了重写的调用脚本,以提供Java启动命令所有的适当信息(我想)。然而,我继续得到

Could not find the main class: com.dir1.dir2.dir3.dir4.ManagementAgent.
Program will exit.

这个路径和文件确实存在于一个JAR文件中(类路径中的第一个文件),并且它位于所示的路径中(例如,如果扩展了JAR,则类文件的绝对路径将是c:\apps\ecs\bin\com\dir1\dir2\dir3\dir4\ManagementAgent.class)。

我一直在遵循这个问答的指示,但仍然收到错误。

显然,我还没修好什么,但我能搞清楚可能是什么。

1
%JAVA_HOME%\bin\javaw.exe -Xms512m -Xmx1024m -cp .\ecs.jar;.\ect.jar;.\jmxri.jar;.\jmxtools.jar;.\log4j.jar;.\xercesImp.jar;.\xalan.jar;.\weblogic81.jar;.\classes12_9i.zip;.\localEJB.jar;.\tct_ip1.1.jar com.dir1.dir2.dir3.dir4.ManagementAgent

我从包含所有jar的目录执行命令。我尝试了几种不同的类路径(如下所示):

  • 相对路径;一般称为jars&class(例如.\*;.)
  • 绝对路径,一般称为jars&class(例如c:\apps\ecs\bin\*;c:\apps\ecs\bin
  • 相对路径,显式调用jar(如上所示)
  • 绝对路径,显式调用JAR(如何在Solaris服务器上执行)
  • 但似乎没有任何组合起作用。


    如果您还没有,我建议您使用以下命令重新检查JAR中的路径:

    1
    jar tf .\ecs.jar

    您应该只看到类文件的相对路径,即:

    1
    com/dir1/dir2/dir3/dir4/ManagementAgent.class

    我还将验证ManagmentAgent的主方法是静态的,并将字符串[]作为唯一的参数。

    编辑:我也将验证您使用的是一个Java版本,它比应用程序编译的版本高或高。您可以使用以下方法检查:

    1
    java -version

    希望这有帮助,祝你好运!