我一直致力于将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的几种变体(如下所示):
.\*;.
)c:\apps\ecs\bin\*;c:\apps\ecs\bin
)但似乎没有任何组合可行。
答案 0 :(得分:1)
如果您还没有我建议使用此命令仔细检查jar中的路径:
jar tf .\ecs.jar
您应该只能看到类文件的相对路径,即:
com/dir1/dir2/dir3/dir4/ManagementAgent.class
我还要验证ManagmentAgent的main方法是静态的,并将String []作为唯一的参数。
编辑:我还要验证您使用的Java版本是否高于或高于编译应用程序的版本。您可以使用以下方式检查:
java -version
希望这有帮助,祝你好运!