Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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
Java 如何使用Tomcat 8+;弹簧靴&x2B;专家_Java_Spring_Maven_Tomcat_Spring Boot - Fatal编程技术网

Java 如何使用Tomcat 8+;弹簧靴&x2B;专家

Java 如何使用Tomcat 8+;弹簧靴&x2B;专家,java,spring,maven,tomcat,spring-boot,Java,Spring,Maven,Tomcat,Spring Boot,根据上的参考API和本教程,应该可以将Tomcat8与一起使用,它默认使用Tomcat7 出于某种原因,它对我不起作用。我做错了什么 pom.xml <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version>

根据上的参考API和本教程,应该可以将Tomcat8与一起使用,它默认使用Tomcat7

出于某种原因,它对我不起作用。我做错了什么

pom.xml

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>
<properties>
    <tomcat.version>8.0.3</tomcat.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>1.0.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>4.0.5.RELEASE</version>
    </dependency>
</dependencies>
输出正在启动Servlet引擎:Apache Tomcat/7.0.52

我已经试过了,但是Tomcat7还是被加载了,而不是8

添加
1.7
属性也不起作用

还尝试了“application.properties”。端口设置为启动时指定的,但Tomcat的版本仍然是默认的7

应用程序属性

server.port=8081
tomcat.version=8.0.3

是吗?具体来说,将其设置为8.0.3会使spring boot运行8.0.3,而不是默认值。

当使用spring boot将tomcat重写为
tomcat时。只有当您将
spring boot starter父项
用作项目的父项时,版本作为属性才会起作用

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.1.0.M2</version>
</parent>

org.springframework.boot
spring启动程序父级
1.1.0.2平方米
(将版本更改为您喜欢的版本)


8.0.8
如果不想将其用作父级,则必须在pom.xml中使用
部分覆盖所有spring版本,并保留上述属性

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-el</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-logging-juli</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-websocket</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jsp-api</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
    </dependencies>

</dependencyManagement>

org.apache.tomcat.embed
tomcat嵌入式内核
${tomcat.version}
org.apache.tomcat.embed
tomcat嵌入式el
${tomcat.version}
org.apache.tomcat.embed
tomcat嵌入式日志
${tomcat.version}
org.apache.tomcat.embed
汤姆卡特·贾斯珀
${tomcat.version}
org.apache.tomcat.embed
tomcat嵌入websocket
${tomcat.version}
org.apache.tomcat
TomcatJDBC
${tomcat.version}
org.apache.tomcat
tomcat jsp api
${tomcat.version}

任何一种方法都可以,但是扩展父级是最简单的,但是这并不总是可能的。

我可以用我在中回答的方法回答这个问题。我认为有些人不知道的一个关键信息是Spring Boot只是一个Java Servlet容器的模拟,如Jetty、Glassfish、Tomcat等。作为开发人员,您必须选择使用哪个

Spring Boot很不错,但当然也有它的缺点,它实际上只是由Spring.io团队创建的,目的是让他们的教程看起来更好,以便与其他“几秒钟内启动并运行”技术竞争。

这里是

没有起始父级:


8.0.3
org.apache.tomcat.embed
tomcat嵌入式内核
${tomcat.version}
测试
org.apache.tomcat.embed
tomcat嵌入式el
${tomcat.version}
测试
org.apache.tomcat.embed
tomcat嵌入websocket
${tomcat.version}
测试
org.springframework.boot
spring启动依赖项
1.4.2.1发布
聚甲醛
进口
org.springframework.boot
SpringBootStarterWeb
org.apache.tomcat
雄猫朱莉
${tomcat.version}

t我很想知道答案,但我在这里尝试了一下,但没有成功。正如本教程所说的
较小的事情,比如服务器运行在哪个端口上。此外,文档没有指向属性文件,而只指向类路径依赖项。application.properties是否位于类路径的根目录下?它对我来说很好。是的,我还将端口设置为8081,以确保文件被读取。还使用Tomcat 8,并且在属性文件中没有设置该属性,仅在pom.xml中设置。这将限制您使用maven的启动插件来运行应用程序,使用我建议的方法让您使用java-jarapplication.properties仅在运行时使用,因为Tomcat JAR已经在类路径上,所以为时已晚。所以这个答案是不正确的。正确的答案是配置构建工具(Maven的pom.xml)。
tomcat.version
必须在Maven pom中指定,以包含tomcat的正确版本。只有当您将spring boot starter父级用作父级依赖项时,它才会起作用。@M.Deinum it worked,tx。您能发布您的答案以便我标记为已解决吗?添加了更广泛的答案,包括两种可能的解决方案。完全不相关,但由于您使用的是尖端Tomcat,你不应该也使用最先进的Java吗?@MichaelPiefel出于内部目的,我现在必须使用Java 7,但它会升级。
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.1.0.M2</version>
</parent>
<properties>
    <tomcat.version>8.0.8</tomcat.version>
</properties>
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-el</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-logging-juli</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-websocket</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jdbc</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jsp-api</artifactId>
            <version>${tomcat.version}</version>
        </dependency>
    </dependencies>

</dependencyManagement>