Java无法找到我的主

时间:2015-11-25 20:13:24

标签: java windows batch-file syntax

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

  

找不到主类:com.dir1.dir2.dir3.dir4.ManagementAgent。   程序将退出。

此路径和文件确实存在于其中一个jar文件(CLASSPATH中的第一个)中,并且它位于显示的路径中(例如,如果展开jar,则类文件的绝对路径为c:\apps\ecs\bin\com\dir1\dir2\dir3\dir4\ManagementAgent.class

我一直关注the directions from this Q&A,但仍然收到错误。

显然,我没有修复某些东西,但我可以弄清楚它可能是什么。

%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的目录中执行命令。我尝试了CLASSPATH的几种变体(如下所示):

  1. 相对路径;一般称为罐子和罐子课程(例如.\*;.
  2. 绝对路径,一般称为罐子和罐子阶级(例如 c:\apps\ecs\bin\*;c:\apps\ecs\bin
  3. 相对路径,明确调用jar(如上所示)
  4. 绝对路径,显式调用jar(如何在Solaris服务器上执行)
  5. 但似乎没有任何组合可行。

1 个答案:

答案 0 :(得分:1)

如果您还没有我建议使用此命令仔细检查jar中的路径:

jar tf .\ecs.jar

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

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

我还要验证ManagmentAgent的main方法是静态的,并将String []作为唯一的参数。

编辑:我还要验证您使用的Java版本是否高于或高于编译应用程序的版本。您可以使用以下方式检查:

java -version

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