问题1:我可以问部署java webapp与它的WAR文件vs只是复制/粘贴构建文件夹到tomcat webapp文件夹之间的区别是什么?
问题2:不知怎么的,我被告知部署我的项目只是通过重命名我的/build/web文件夹到/build/,然后复制并粘贴这个文件夹到tomcat/webapp文件夹。Tomcat确实提供了web应用程序,我可以通过url访问它。但问题是,我怀疑我的系统变量没有设置。我启动一个servlet,并将此代码放在这个init(ServletConfig配置)方法中:
System.setProperty("LogPath","D:/Test/logs");
在log4j.properties
中这样做log4j.appender.file.FILE=${LogPath}/wrapper.log
在指定的目录中找不到wrapper.log,但是在tomcat/logs文件夹中找到了stdout.log。
我确信init()方法被触发,因为我在那里有一个石英调度程序。我怀疑我的系统。未设置setProperty。有提示吗?
Update:使用所有相同的源代码,如果我使用WAR文件部署,我没有问题。log4j中的${LogPath}。
让我来回答你第一个问题。
WAR文件是一个具有不同名称的zip归档文件。当您将该文件部署到Tomcat服务器时,它会将该文件解压缩到其文件夹中,就像您通过复制-粘贴所做的那样。如果您只是在自己的环境中开发自己的项目,并且不希望发布它,则不需要创建war文件。但是如果你想分发这个项目,我建议你创建一个war文件。一个文件更容易发送。
阅读更多关于维基百科http://en.wikipedia.org/wiki/WAR_%28file_format%29