添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
被表白的八宝粥  ·  Python ...·  1 月前    · 
爱喝酒的白开水  ·  ubuntu - squid proxy ...·  1 年前    · 
< plugin > < groupId > org.springframework.boot < /groupId > < artifactId > spring-boot-maven-plugin < /artifactId > < configuration > < finalName > demo < /finalName > < /configuration > < /plugin > < /plugins > < /build >

SpringBoot 打成 jar 包,内嵌了自带的 tomcat 配置,可以直接执行 java -jar *.jar 的命令运行。该命令只是启动一个执行 jar mian 的 jvm 进程,当 spring-boot-starter-web 包含嵌入式 tomcat 服务器依赖项时,执行 java -jar 则会启动 Application Server。

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>

二、war包

pom.xml

<groupId>com.weimo</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>war包部署</description>
<packaging>war</packaging>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <finalName>demo</finalName>
            </configuration>
        </plugin>
    </plugins>
</build>

将 war 包放在 tomcat/webapps 目录下,这种方式会使用到外部的 tomcat,如果这样启动之后 tomcat 报错:

java.util.zip.ZipException: error in opening zip file
...
org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start: 

此时还需要在 Application 类继承 SpringBootServletInitializer,这个类是 servlet 的初始化组件。

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
    // 不重写此方法也可以启动成功
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(DemoApplication.class);
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
        System.out.println("启动完成");
                    本文所使用的 SpringBoot 版本:1.5.19.RELEASEjava 版本:1.8tomcat版本:7.0.91一、jar包pom.xml&lt;groupId&gt;com.weimo&lt;/groupId&gt;&lt;artifactId&gt;demo&lt;/artifactId&gt;&lt;version&gt;0.0.1-SNAPSHOT&lt;/vers...
				
随着服务器上的tomcat部署项目越来越多,最近在部署一个新的项目的时候出现内存溢出的错误 Exception in thread "main" java.lang.OutOfMemoryError: PermGen space at java.lang.StackTraceElement.equals(StackTraceElement.java:204)...
**1.**创建项目时,jar包只有一个启动类,war是有两个启动类。 打war的放在tomact运行,就会执行第二个启动类。是为了给tomact用。 **2.**war放进tomcat运行,发现端口号变成tomcat默认的8080(我在server.port设置端口8090)项目名称也必须加上了。 **3.**通过jar运行实际上是启动了内置的tomcat,所以用的是应用的配置文件的端口。直接部署tomcat之后,内置的tomcat就不会启用,所以相关配置就以安装的tomcat为准,与应用的配
jar是一体化的而tomcat你可以访问它的层级资源。 举个例子,我想上传一个文件到服务器,如果我使用jar,你只能通过流的方式写进去,具体方法百度,它向一个不可视的沙盒,这种操作其实更为安全,因为黑客攻击了你的服务器,通常情况下很难获取到里面的资源,毕竟,开发者都难以获取。 但这种方法本身是存在弊端的,因为对文件管理是不友好的,比如有时候你希望能... <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> &lt...