首先是主要问题:
我们在 tomcat 中有一个 Web 应用程序,当系统试图在 12 点发送电子邮件时,它会过载并关闭。起初它只有数百个(服务器表现良好),但现在它有数千个并且用完了所有东西。
我们想在不同的 JVM 中“运行”这些作业。为此,我被要求创建一个独立的应用程序来加载 Spring 和休眠上下文并调用发送电子邮件和短信的方法;并通过命令行运行它。但是他们想使用与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
如何将所有这些添加到类路径中?
优化代码现在不是一个选项。