Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven IntelliJ 2017中Vaadin 8构建的应用程序(WAR文件或其他工件)存储在哪里?_Maven_Intellij Idea_Vaadin_War_Vaadin8 - Fatal编程技术网

Maven IntelliJ 2017中Vaadin 8构建的应用程序(WAR文件或其他工件)存储在哪里?

Maven IntelliJ 2017中Vaadin 8构建的应用程序(WAR文件或其他工件)存储在哪里?,maven,intellij-idea,vaadin,war,vaadin8,Maven,Intellij Idea,Vaadin,War,Vaadin8,通过简单原型创建应用程序时: mvn -B archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=8.0.6 -DgroupId=org.test -DartifactId=vaadin-app -Dversion=1.0-SNAPSHOT …并通过捆绑的servlet容器运行,我构建的web应用程序存储在哪里?

通过简单原型创建应用程序时:

mvn -B archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=8.0.6 -DgroupId=org.test -DartifactId=vaadin-app -Dversion=1.0-SNAPSHOT
…并通过捆绑的servlet容器运行,我构建的web应用程序存储在哪里?是否正在生成一个文件?如果是,在哪里

我在macOS Sierra 10.12.5和IntelliJ 2017.1.3上使用Java 8 Update 131。

安装mvn后,在目标文件夹中 在Maven中执行mvn安装后,可以在目标文件夹中找到.war文件

例如…查看名为TryAgain的项目的此屏幕截图,其中文件夹目标包含名为TryAgain-1.0-SNAPSHOT.WAR的WAR文件

mvn安装后在目标文件夹中 在Maven中执行mvn安装后,可以在目标文件夹中找到.war文件

例如…查看名为TryAgain的项目的此屏幕截图,其中文件夹目标包含名为TryAgain-1.0-SNAPSHOT.WAR的WAR文件


据我所知,正如文档所建议的,在运行时,没有构建任何工件。相反,maven jetty插件将使用自己的内部机制从target\classes重新加载编译的类

跑步目标运行在网络应用程序上,而不必构建在战争中。相反,Jetty从其源部署webapp。它在Maven默认项目位置中查找webapp的组成部分,尽管您可以在插件配置中覆盖这些组成部分。例如,默认情况下,它会查找:

${project.basedir}/src/main/webapp中的资源 ${project.build.outputDirectory}中的类 ${project.basedir}/src/main/webapp/web-INF中的web.xml/ 该插件自动确保在部署之前重建类并使其保持最新状态。如果您更改了一个类的源代码,并且您的IDE在后台自动编译它,那么插件将拾取更改后的类

您不需要将webapp组装成WAR,从而在开发周期中节省时间。一旦被调用,您可以将插件配置为连续运行,扫描项目中的更改,并在必要时自动执行热重新部署。您所做的任何更改都会立即反映在Jetty的运行实例中,使您能够快速地从编码跳到测试,而不是经历编码、编译、重新组装、重新部署和测试的循环

。。。以及:

*注 正在运行的Jetty实例及其部署的webapp的类路径由Maven管理,可能与您期望的不完全一样。例如:webapp的依赖JAR可能通过本地存储库引用,而不是通过WEB-INF/lib目录引用

当运行带有-X aka的maven插件时,也可以在日志中看到上面提到的一些信息,提供了更多信息:

[INFO] Configuring Jetty for project: vaadin-app
[INFO] webAppSourceDirectory not set. Trying src\main\webapp
[INFO] Reload Mechanic: automatic
[INFO] Classes = D:\tmp\test\vaadin-app\target\classes
[DEBUG] Starting Jetty Server ...
[INFO] Context path = /
[INFO] Tmp directory = D:\tmp\test\vaadin-app\target\tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides =  none
[DEBUG] Adding artifact vaadin-server-8.0.6.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact vaadin-sass-compiler-0.9.13.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact sac-1.3.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact flute-1.3.0.gg2.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact vaadin-shared-8.0.6.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact jsoup-1.8.3.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact gentyref-1.2.0.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact vaadin-push-8.0.6.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact atmosphere-runtime-2.4.5.vaadin2.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact vaadin-slf4j-jdk14-1.6.1.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact vaadin-client-compiled-8.0.6.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact vaadin-themes-8.0.6.jar with scope compile for WEB-INF/lib 
[INFO] web.xml file = null
[INFO] Webapp directory = D:\tmp\test\vaadin-app\src\main\webapp
[INFO] Started Jetty Server
但是,如果要构建和部署打包的war或分解的war,可以使用:

此目标首先将您的webapp打包为WAR文件,然后将其部署到Jetty。如果设置了非零扫描间隔,Jetty将监视pom.xml和WAR文件;如果其中一个发生变化,它就会重新部署战争

。。。和/或:

运行分解目标首先将您的webapp组装成分解的WAR文件,然后将其部署到Jetty。如果设置非零扫描间隔,Jetty将监视pom.xml、`WEB-INF/lib、WEB-INF/和WEB-INF/WEB.xml,以便在必要时进行更改和重新部署


据我所知,正如文档所建议的,在运行时,没有构建任何工件。相反,maven jetty插件将使用自己的内部机制从target\classes重新加载编译的类

跑步目标运行在网络应用程序上,而不必构建在战争中。相反,Jetty从其源部署webapp。它在Maven默认项目位置中查找webapp的组成部分,尽管您可以在插件配置中覆盖这些组成部分。例如,默认情况下,它会查找:

${project.basedir}/src/main/webapp中的资源 ${project.build.outputDirectory}中的类 ${project.basedir}/src/main/webapp/web-INF中的web.xml/ 该插件自动确保在部署之前重建类并使其保持最新状态。如果您更改了一个类的源代码,并且您的IDE在后台自动编译它,那么插件将拾取更改后的类

您不需要将webapp组装成WAR,从而在开发周期中节省时间。一旦被调用,您可以将插件配置为连续运行,扫描项目中的更改,并在必要时自动执行热重新部署。您所做的任何更改都会立即反映在Jetty的运行实例中,使您能够快速地从编码跳到测试,而不是经历编码、编译、重新组装、重新部署和测试的循环

。。。以及:

*注 正在运行的Jetty实例及其部署的webapp的类路径由Maven管理,可能与您期望的不完全一样。例如:webapp的依赖JAR可能通过本地 存储库,而不是WEB-INF/lib目录

当运行带有-X aka的maven插件时,也可以在日志中看到上面提到的一些信息,提供了更多信息:

[INFO] Configuring Jetty for project: vaadin-app
[INFO] webAppSourceDirectory not set. Trying src\main\webapp
[INFO] Reload Mechanic: automatic
[INFO] Classes = D:\tmp\test\vaadin-app\target\classes
[DEBUG] Starting Jetty Server ...
[INFO] Context path = /
[INFO] Tmp directory = D:\tmp\test\vaadin-app\target\tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides =  none
[DEBUG] Adding artifact vaadin-server-8.0.6.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact vaadin-sass-compiler-0.9.13.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact sac-1.3.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact flute-1.3.0.gg2.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact vaadin-shared-8.0.6.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact jsoup-1.8.3.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact gentyref-1.2.0.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact vaadin-push-8.0.6.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact atmosphere-runtime-2.4.5.vaadin2.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact vaadin-slf4j-jdk14-1.6.1.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact vaadin-client-compiled-8.0.6.jar with scope compile for WEB-INF/lib 
[DEBUG] Adding artifact vaadin-themes-8.0.6.jar with scope compile for WEB-INF/lib 
[INFO] web.xml file = null
[INFO] Webapp directory = D:\tmp\test\vaadin-app\src\main\webapp
[INFO] Started Jetty Server
但是,如果要构建和部署打包的war或分解的war,可以使用:

此目标首先将您的webapp打包为WAR文件,然后将其部署到Jetty。如果设置了非零扫描间隔,Jetty将监视pom.xml和WAR文件;如果其中一个发生变化,它就会重新部署战争

。。。和/或:

运行分解目标首先将您的webapp组装成分解的WAR文件,然后将其部署到Jetty。如果设置非零扫描间隔,Jetty将监视pom.xml、`WEB-INF/lib、WEB-INF/和WEB-INF/WEB.xml,以便在必要时进行更改和重新部署


有关使用说明文件的详细信息说明:

援引

mvn package

应生成WAR文件target/vaadin-app-1.0-SNAPSHOT.WAR

另外,链接还声明在执行mvn包之后


有关使用说明文件的详细信息说明:

援引

mvn package

应生成WAR文件target/vaadin-app-1.0-SNAPSHOT.WAR

另外,链接还声明在执行mvn包之后


亲爱的Down投票者,请在投票时留下批评意见。如果有助于社区,您应标记一个答案或自己留下一个答案:@完成了。所有答案都很好,谢谢。《码头:由摩菲克公司经营》的解释很有启发性,也让我感到安慰,因为我对它的运作方式感到困惑。仅供参考,我在其他地方了解到,Maven的Jetty插件是为了方便起见,在实际工作中,您可能希望使用带有外部web容器Tomcat、Jetty等的热部署工具。例如,也许。事实上,这些工具大多数是用户首选的,只是命令是它们的关键。亲爱的Down Voter,请在投票时留下批评意见。如果这对社区有帮助,你应该标记一个答案或自己留下一个答案@完成了。所有答案都很好,谢谢。《码头:由摩菲克公司经营》的解释很有启发性,也让我感到安慰,因为我对它的运作方式感到困惑。仅供参考,我在其他地方了解到,Maven的Jetty插件是为了方便起见,在实际工作中,您可能希望使用带有外部web容器Tomcat、Jetty等的热部署工具。例如,也许。事实上,这些工具大多数是用户首选的,只是命令是它们的关键。我很抱歉,请尝试安装mvn。然后目标文件夹将包含您的war文件。将更新回复我的歉意,请尝试安装mvn。然后目标文件夹将包含您的war文件。将更新答案