gpt4 book ai didi

java - 是否可以将爆炸 war 添加/加载到独立的java应用程序中?

转载 作者:行者123 更新时间:2023-11-30 04:28:41 24 4
gpt4 key购买 nike

首先是主要问题:

我们在 tomcat 中有一个 Web 应用程序,当系统尝试在 12 点发送电子邮件时,该应用程序会过载并关闭。起初只有数百个(服务器表现良好),但现在有数千个,并且耗尽了所有内容。

我们希望在不同的 JVM 中“运行”这些作业。为此,我被要求创建一个独立的应用程序来加载 Spring 和 hibernate 上下文并调用发送电子邮件和短信的方法;并通过命令行运行它。但他们希望使用驻留在 tomcat 服务器中的相同“ war ”(避免任何类型的复制)。

enter image description here

我已经通过 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

我还尝试将其放入 list 的类路径中,如下所示:

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

如何将所有这些添加到类路径中?

优化代码现在不是一个选项。

最佳答案

您需要在类路径上添加一些内容:

  • WEB-INF/classes - 这包含 WAR 中的所有自定义类
  • 您的 WAR 中的类所依赖的所有库 jar
  • 您的命令行应用程序所依赖的所有 jar

编辑:根据您更新的问题

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

关于java - 是否可以将爆炸 war 添加/加载到独立的java应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15165124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com