如何在war文件中运行java类文件

时间:2011-05-22 12:20:38

标签: java war

我有一个名为Sample.war的war文件。在这个war文件中,我有一个名为“Maintest”的主类。我想从战争的外面运行或执行Maintest类。如何做到这一点

5 个答案:

答案 0 :(得分:4)

战争文件只是具有额外元数据的Jar文件。所以,你可以这样做:

java -classpath application.war Maintest

这将从war文件 application.war 加载类 Maintest 并运行它

答案 1 :(得分:2)

我在此发布的答案相同:ASPX markup and XML definition file

第1步:打开War文件。

jar -xvf MyWar.war

第2步:进入目录

cd WEB-INF

第3步:使用所有依赖项运行main

java -classpath "lib/*:classes/." my.packages.destination.FileToRun

答案 2 :(得分:1)

WAR文件用于servlet容器部署,不用于独立执行。

因此,没有简单的方法可以做你想要的。将可执行jar用于主方法应用程序。

答案 3 :(得分:-1)

战争的切入点不是像应用程序那样的主要方法。战争的入口点是web.xml,它由应用程序服务器读取并用于将URL映射到servlet。

如果你真的需要测试战争,你可以使用像Jetty这样的嵌入式应用服务器。

答案 4 :(得分:-1)

与可执行jar不同,它不是可执行的war文件以及为什么要在war文件中运行class。 war容器/服务器直接/间接加载war文件中的类。如果真的想在war文件里面的jar里面运行一个类,那么把jar放在classpath中就可以照常运行了。