首先是主要问题:
我们在tomcat中有一个Web应用程序,当系统尝试在12点发送电子邮件时会超载并关闭。起初它只有数百个(并且服务器表现良好)但现在已经有数千个并且用完所有东西。
我们希望在不同的JVM中“运行”这些作业。为此,我被要求创建一个独立的应用程序来加载Spring和hibernate上下文并调用发送电子邮件和短信的方法;并通过命令行运行。但他们希望使用驻留在tomcat服务器中的相同“战争”(避免任何类型的复制)。
我已经通过Eclipse创建了应用程序,当我点击运行时,它发挥了它的魔力。但是当我尝试通过命令行运行它时,我得到一个NoClassDefFoundError,显然,由于ClassPath引用问题。我试图将路径放到“WEB-INF”目录中,但没有成功。如果这意味着运行此应用程序,我们不关心是否会破坏可移植性。
C:\Program Files\Java\jdk1.6.0_38\bin>java -jar -cp ".;D:\powerfollowups\trunk\WebContent\WEB-INF\lib\*;D:\powerfollowups\trunk\WebContent\WEB-INF\clases" D:\powerfollowups\workspace\PFUReportSender\target\pwrFU-2.jar
我也尝试将它放在清单的Class-Path中,如下所示:
Manifest-Version: 1.0
Main-Class: com.powerfollowups.StandAlonePFUReportSender
Class-Path: D:\powerfollowups\trunk\WebContent\WEB-INF\lib\* D:\powerfollowups\trunk\WebContent\WEB-INF\clases
如何将所有这些添加到类路径中?
优化代码现在不是一个选项。
答案 0 :(得分:2)
你需要在类路径上做一些事情:
编辑:根据您更新的问题
java -jar -cp ".;D:\powerfollowups\trunk\WebContent\WEB-INF\lib\*;D:\powerfollowups\trunk\WebContent\WEB-INF\classes" D:\powerfollowups\workspace\PFUReportSender\target\pwrFU-2.jar