我在eclipse下有一个maven应用程序。 jsp页面和WEB-INF文件夹位于路径NomeMiaApplicazione \ src \ main \ webapp下。我运行这些命令:mvn clean, mvn eclipse:eclipse和mvn在应用程序的根文件夹下编译,在所有三种情况下,构建都是成功的。但是,当我访问该文件夹(进入工作区) 。 metadata.plugins \ org.eclipse.wst.server.core \ TMP2 \ wtpwebapps \ NomeMiaApplicazione ,没有jsp页面。这个问题的解决方案是什么?好!
答案 0 :(得分:1)
有必要澄清您使用的命令的作用及其对Eclipse的影响。
mvn eclipse:eclipse
命令创建Eclipse项目文件,以便为您节省配置新项目和识别其所有源的麻烦。此命令也等同于使用m2e Eclipse插件从现有Maven项目创建新的Eclipse项目。有关eclipse:eclipse
命令,另请参阅this page。话虽这么说,你只需要运行一次这样的命令,然后将生成的项目导入Eclipse。
其次,mvn compile
将您的源文件构建到target
根文件夹的NomeMiaApplicazione
目录中。此命令不以任何方式涉及Eclipse。此外,Web资源仍未打包。要打包它们,您需要发出mvn package
:然后,您将在<artifact>-<version>.war
下再次找到target
文件,在target\<artifact>-<version>
下找到预先打包的内容。请注意,为了考虑webapp
内容,您的Maven包装必须是war
类型。查看pom.xml
标记的<packaging>
。
最后,部署仍是另一个问题。如果您确实需要将.war
文件从目标目录移动到其他位置(即servlet容器的autodeploy文件夹),则可以配置Maven Deploy Plugin并发出mvn deploy
。我宁愿建议你搜索SO deploy war eclipse和/或deploy war maven,因为有很多相关内容。在第一种情况下,您将了解如何使用Eclipse作为部署工具,而第二种情况是利用命令行提供更便携/灵活的部署过程。
答案 1 :(得分:0)
这是因为mvn compile
在Maven默认生命周期的compile
阶段结束。做mvn package
然后检查。顺便说一句,默认的Maven输出目录是target
,所以请检查它而不是WTP临时目录。