2012-03-22 64 views
2

我从Netbeans创建war文件。以前我使用Netbeans创建了jar文件,它工作正常(在命令提示符下)。但是,当我从命令提示符下运行war文件,我收到此错误:使用Netbeans创建WAR

Failed to load Main-Class manifest attribute from WebApplication2.war. 

我已经创作罐子

Project->properties->Run->Choosed main class).. 

我必须在设置任何mainclass期间设置从Netbeans的主类战争创作(因为Web应用程序没有任何主类,它只有JWS和servlet,我们如何设置主类)?

+0

JAR可以在命令提示符下运行,因为它们只是zip文件。 WAR(网络存档)是针对网络的,并且必须进入该点,所以在提示符下运行会导致错误。它们只能部署到Tomcat等应用服务器上。 – 2012-03-22 05:16:51

+0

我已经部署的战争工作正常,但如果我想在运行战争时运行索引页以外的其他内容? – user10101 2012-03-22 10:03:09

+0

您使用的是什么应用程序服务器,Tomcat,JBoss?您有两种选择:更新Tomcat的web.xml,将文件包含在中,或者您可以在web.xml文件中执行“servlet-mapping>”,包括war文件 – 2012-03-23 01:58:30

回答

0

想想你在问什么......主类是用户运行你的应用程序时调用的第一个类。什么是用户访问您的webapp时调用的第一个类?

这将是绑定到您的web.xml中的URL或与@Servlet注释绑定的类。

3

如果你的程序是web项目,只是说从NetBeans中清洁&构建它会在你project/target目录下创建一个war文件

+0

我已经这样做了,该怎么办呢??? – user10101 2012-03-22 05:24:20

+0

通过这样做你应该有'.war'文件创建 – 2012-03-22 05:26:51

+0

@JigarJoshi如果它不是一个web项目怎么办? – Igor 2013-06-18 14:24:52

0

使用web.xml中创造了战争文件来执行初始位置。 插入您的欢迎文件在这里

<root> 
    <welcome-file-list> 
     <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
</root> 

这将自动选择首先运行该文件。