Ham*_*dwn 19 java spring jar war spring-boot
我将使用Spring Boot使用Spring Framework构建我的第一个使用Java的网站,并且它更容易构建它jar
,但我有一些关于它的问题.
一般有什么不同?
在jar
文件中,视图位于/resources/templates
,但在war
文件中,它在下面/webapp/WEB-INF/
.
有什么区别?我可以jar
在在线主机上部署吗?
laz*_*ron 17
取决于您的部署。如果您计划将应用程序部署到现有的 Java EE 应用程序服务器(例如 Tomcat),那么标准方法是执行war
构建。
当您使用 fat jar 方法时,您的应用程序将部署在 Spring Boot 提供的嵌入式应用程序容器上。执行部署 Spring Boot 应用程序以获取更多信息。
gly*_*ing 12
可以告诉Spring Boot生成一个'fat JAR',它包含所有模块/服务的依赖项,并且可以运行java -jar <your jar>
.请参阅此处的 "使用Maven创建可执行JAR" .
也可以告诉Spring Boot 生成WAR文件,在这种情况下,您可能会选择将其部署到Web容器(如Tomcat或Jetty).
在春季启动部署大量的更多的细节在这里.
spring-boot
应用程序作为胖*.jar
可以构建所谓的具有嵌入式应用程序容器的fat JAR
可执行*.jar
文件(Tomcat
作为默认选项).有spring-boot
各种构建系统的插件.这是一个用于maven
:spring-boot-maven-plugin
要执行那种fat
*.jar
你可以简单的运行命令:
java -jar *.jar
Run Code Online (Sandbox Code Playgroud)
或使用spring-boot-maven
目标:
mvn spring-boot:run
Run Code Online (Sandbox Code Playgroud)
spring-boot
应用程序作为*.war
存档另一种选择是将您的应用程序作为旧式war
文件发送.它可以部署到那里的任何servlet容器.以下是逐步列出的方法:
packaging
到war
(谈论Maven的pom.xml
)spring-boot
应用程序类SpringBootServletInitializer
和覆盖SpringApplicationBuilder configure(SpringApplicationBuilder)
方法(参见javadoc)scope
的spring-boot-starter-tomcat
作为provided
当我在本地免费部署 jar 问题时,我遇到了同样的问题。然后我必须在服务器上演示它。您可以通过更改 pom.xml 、标签来创建 war 文件
<packaging>jar</packaging>
Run Code Online (Sandbox Code Playgroud)
到
<packaging>war</packaging>
Run Code Online (Sandbox Code Playgroud)
你的目标中将有一个 war 文件,你可以将其部署到你的服务器(在我的例子中是 tomcat)
如果需要将其部署在外部容器中,通常必须创建一个 war 文件(该文件不必是可执行的)。
如果要使用嵌入式容器,可以选择创建可执行的.jar 文件或可执行的.war 文件。AFAIK 唯一的区别在于存档的布局,因此通常也是源存储库的布局。
例如,使用 Maven/Gradle 的标准文件夹结构,.jar 的静态资源需要位于.war 文件中src/main/resources/static
,而 .war 文件则应位于 .jar 中src/main/webapp
。
归档时间: |
|
查看次数: |
23607 次 |
最近记录: |