我有一个名为Sample.war的war文件。在这个war文件中,我有一个名为“Maintest”的主类。我想从战争的外面运行或执行Maintest类。如何做到这一点
答案 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中就可以照常运行了。