简体   繁体   English

无法将springboot REST api部署到Heroku

[英]Can't deploy springboot REST api to Heroku

I want to deploy my springboot rest api to Heroku, I have connected my github and heroku, after I pushed my change to github. I want to deploy my springboot rest api to Heroku, I have connected my github and heroku, after I pushed my change to github. Heroku can build successfully, but when I open the application on Heroku, I got the following errors Heroku 可以成功构建,但是当我在 Heroku 上打开应用程序时,出现以下错误

2020-04-20T03:58:24.636881+00:00 app[web.1]: at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.636881+00:00 app[web.1]: at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.636881+00:00 app[web.1]: at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.636881+00:00 app[web.1]: at com.doggydoggy.DoggyDoggyApplication.main(DoggyDoggyApplication.java:12) [classes!/:0.0.1-SNAPSHOT]
2020-04-20T03:58:24.636881+00:00 app[web.1]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_242-heroku]
2020-04-20T03:58:24.636882+00:00 app[web.1]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_242-heroku]
2020-04-20T03:58:24.636882+00:00 app[web.1]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_242-heroku]
2020-04-20T03:58:24.636882+00:00 app[web.1]: at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_242-heroku]
2020-04-20T03:58:24.636882+00:00 app[web.1]: at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [DoggyDoggyUsers-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
2020-04-20T03:58:24.636882+00:00 app[web.1]: at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [DoggyDoggyUsers-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
2020-04-20T03:58:24.636883+00:00 app[web.1]: at org.springframework.boot.loader.Launcher.launch(Launcher.java:51) [DoggyDoggyUsers-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
2020-04-20T03:58:24.636883+00:00 app[web.1]: at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52) [DoggyDoggyUsers-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
2020-04-20T03:58:24.636883+00:00 app[web.1]: Caused by: javax.servlet.ServletException: java.lang.IllegalStateException:
2020-04-20T03:58:24.636883+00:00 app[web.1]: 
2020-04-20T03:58:24.636883+00:00 app[web.1]: ======================================================================================================
2020-04-20T03:58:24.636884+00:00 app[web.1]: Vaadin requires node.js & npm to be installed. Please install the latest LTS version of node.js (with npm) either by:
2020-04-20T03:58:24.636884+00:00 app[web.1]: 1) following the https://nodejs.org/en/download/ guide to install it globally. This is the recommended way.
2020-04-20T03:58:24.636884+00:00 app[web.1]: 2) running the following Maven plugin goal to install it in this project:
2020-04-20T03:58:24.636884+00:00 app[web.1]: $ mvn com.github.eirslett:frontend-maven-plugin:1.7.6:install-node-and-npm -DnodeVersion="v12.14.0"
2020-04-20T03:58:24.636885+00:00 app[web.1]: 
2020-04-20T03:58:24.636895+00:00 app[web.1]: Note that in case you don't install it globally, you'll need to install it again for another Vaadin project.
2020-04-20T03:58:24.636895+00:00 app[web.1]: In case you have just installed node.js globally, it was not discovered, so you need to restart your system to get the path variables updated.
2020-04-20T03:58:24.636896+00:00 app[web.1]: ======================================================================================================
2020-04-20T03:58:24.636896+00:00 app[web.1]: 
2020-04-20T03:58:24.636896+00:00 app[web.1]: at com.vaadin.flow.server.startup.DevModeInitializer.initDevModeHandler(DevModeInitializer.java:301) ~[flow-server-2.1.5.jar!/:2.1.5]
2020-04-20T03:58:24.636896+00:00 app[web.1]: at com.vaadin.flow.spring.VaadinServletContextInitializer$DevModeServletContextListener.contextInitialized(VaadinServletContextInitializer.java:344) ~[vaadin-spring-12.1.2.jar!/:na]
2020-04-20T03:58:24.636897+00:00 app[web.1]: ... 46 common frames omitted
2020-04-20T03:58:24.636898+00:00 app[web.1]: Caused by: java.lang.IllegalStateException:
2020-04-20T03:58:24.636898+00:00 app[web.1]: 
2020-04-20T03:58:24.636898+00:00 app[web.1]: ======================================================================================================
2020-04-20T03:58:24.636899+00:00 app[web.1]: Vaadin requires node.js & npm to be installed. Please install the latest LTS version of node.js (with npm) either by:
2020-04-20T03:58:24.636899+00:00 app[web.1]: 1) following the https://nodejs.org/en/download/ guide to install it globally. This is the recommended way.
2020-04-20T03:58:24.636906+00:00 app[web.1]: 2) running the following Maven plugin goal to install it in this project:
2020-04-20T03:58:24.636906+00:00 app[web.1]: $ mvn com.github.eirslett:frontend-maven-plugin:1.7.6:install-node-and-npm -DnodeVersion="v12.14.0"
2020-04-20T03:58:24.636906+00:00 app[web.1]: 
2020-04-20T03:58:24.636907+00:00 app[web.1]: Note that in case you don't install it globally, you'll need to install it again for another Vaadin project.
2020-04-20T03:58:24.636907+00:00 app[web.1]: In case you have just installed node.js globally, it was not discovered, so you need to restart your system to get the path variables updated.
2020-04-20T03:58:24.636907+00:00 app[web.1]: ======================================================================================================
2020-04-20T03:58:24.636907+00:00 app[web.1]: 
2020-04-20T03:58:24.636908+00:00 app[web.1]: at com.vaadin.flow.server.frontend.FrontendUtils.getExecutable(FrontendUtils.java:371) ~[flow-server-2.1.5.jar!/:2.1.5]
2020-04-20T03:58:24.636908+00:00 app[web.1]: at com.vaadin.flow.server.frontend.FrontendUtils.getNodeExecutable(FrontendUtils.java:300) ~[flow-server-2.1.5.jar!/:2.1.5]
2020-04-20T03:58:24.636908+00:00 app[web.1]: at com.vaadin.flow.server.frontend.FrontendUtils.validateNodeAndNpmVersion(FrontendUtils.java:623) ~[flow-server-2.1.5.jar!/:2.1.5]
2020-04-20T03:58:24.636908+00:00 app[web.1]: at com.vaadin.flow.server.DevModeHandler.<init>(DevModeHandler.java:139) ~[flow-server-2.1.5.jar!/:2.1.5]
2020-04-20T03:58:24.636909+00:00 app[web.1]: at com.vaadin.flow.server.DevModeHandler.createInstance(DevModeHandler.java:299) ~[flow-server-2.1.5.jar!/:2.1.5]
2020-04-20T03:58:24.636909+00:00 app[web.1]: at com.vaadin.flow.server.DevModeHandler.start(DevModeHandler.java:249) ~[flow-server-2.1.5.jar!/:2.1.5]
2020-04-20T03:58:24.636909+00:00 app[web.1]: at com.vaadin.flow.server.DevModeHandler.start(DevModeHandler.java:226) ~[flow-server-2.1.5.jar!/:2.1.5]
2020-04-20T03:58:24.636910+00:00 app[web.1]: at com.vaadin.flow.server.startup.DevModeInitializer.initDevModeHandler(DevModeInitializer.java:297) ~[flow-server-2.1.5.jar!/:2.1.5]
2020-04-20T03:58:24.636910+00:00 app[web.1]: ... 47 common frames omitted
2020-04-20T03:58:24.636910+00:00 app[web.1]: 
2020-04-20T03:58:24.663094+00:00 app[web.1]: 2020-04-20 03:58:24.662 ERROR 4 --- [           main] o.apache.catalina.core.StandardContext   : One or more listeners failed to start. Full details will be found in the appropriate container log file
2020-04-20T03:58:24.663714+00:00 app[web.1]: 2020-04-20 03:58:24.663 ERROR 4 --- [           main] o.apache.catalina.core.StandardContext   : Context [] startup failed due to previous errors
2020-04-20T03:58:24.667161+00:00 app[web.1]: 2020-04-20 03:58:24.667  WARN 4 --- [           main] o.a.c.loader.WebappClassLoaderBase       : The web application [ROOT] appears to have started a thread named [Thread-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
2020-04-20T03:58:24.667162+00:00 app[web.1]: java.net.PlainSocketImpl.socketAccept(Native Method)
2020-04-20T03:58:24.667162+00:00 app[web.1]: java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
2020-04-20T03:58:24.667162+00:00 app[web.1]: java.net.ServerSocket.implAccept(ServerSocket.java:560)
2020-04-20T03:58:24.667163+00:00 app[web.1]: java.net.ServerSocket.accept(ServerSocket.java:528)
2020-04-20T03:58:24.667163+00:00 app[web.1]: com.vaadin.flow.server.DevServerWatchDog$WatchDogServer.run(DevServerWatchDog.java:58)
2020-04-20T03:58:24.667164+00:00 app[web.1]: java.lang.Thread.run(Thread.java:748)
2020-04-20T03:58:24.696178+00:00 app[web.1]: 2020-04-20 03:58:24.695  INFO 4 --- [           main] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2020-04-20T03:58:24.703061+00:00 app[web.1]: 2020-04-20 03:58:24.702  WARN 4 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
2020-04-20T03:58:24.714248+00:00 app[web.1]: 2020-04-20 03:58:24.714  INFO 4 --- [           main] org.mongodb.driver.connection            : Closed connection [connectionId{localValue:2, serverValue:586888}] to ds111598.mlab.com:11598 because the pool has been closed.
2020-04-20T03:58:24.729224+00:00 app[web.1]: 2020-04-20 03:58:24.729  INFO 4 --- [           main] ConditionEvaluationReportLoggingListener :
2020-04-20T03:58:24.729226+00:00 app[web.1]: 
2020-04-20T03:58:24.729227+00:00 app[web.1]: Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-04-20T03:58:24.732562+00:00 app[web.1]: 2020-04-20 03:58:24.732 ERROR 4 --- [           main] o.s.boot.SpringApplication               : Application run failed
2020-04-20T03:58:24.732562+00:00 app[web.1]: 
2020-04-20T03:58:24.732563+00:00 app[web.1]: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
2020-04-20T03:58:24.732584+00:00 app[web.1]: at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:156) ~[spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732592+00:00 app[web.1]: at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544) ~[spring-context-5.2.3.RELEASE.jar!/:5.2.3.RELEASE]
2020-04-20T03:58:24.732593+00:00 app[web.1]: at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) ~[spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732601+00:00 app[web.1]: at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) [spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732602+00:00 app[web.1]: at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732602+00:00 app[web.1]: at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732603+00:00 app[web.1]: at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732603+00:00 app[web.1]: at org.springframework.boot.SpringApplication.run(SpringApplication.java:1215) [spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732604+00:00 app[web.1]: at com.doggydoggy.DoggyDoggyApplication.main(DoggyDoggyApplication.java:12) [classes!/:0.0.1-SNAPSHOT]
2020-04-20T03:58:24.732604+00:00 app[web.1]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_242-heroku]
2020-04-20T03:58:24.732605+00:00 app[web.1]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_242-heroku]
2020-04-20T03:58:24.732605+00:00 app[web.1]: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_242-heroku]
2020-04-20T03:58:24.732606+00:00 app[web.1]: at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_242-heroku]
2020-04-20T03:58:24.732606+00:00 app[web.1]: at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) [DoggyDoggyUsers-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
2020-04-20T03:58:24.732606+00:00 app[web.1]: at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) [DoggyDoggyUsers-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
2020-04-20T03:58:24.732607+00:00 app[web.1]: at org.springframework.boot.loader.Launcher.launch(Launcher.java:51) [DoggyDoggyUsers-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
2020-04-20T03:58:24.732607+00:00 app[web.1]: at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52) [DoggyDoggyUsers-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
2020-04-20T03:58:24.732607+00:00 app[web.1]: Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat
2020-04-20T03:58:24.732608+00:00 app[web.1]: at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:126) ~[spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732608+00:00 app[web.1]: at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:88) ~[spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732609+00:00 app[web.1]: at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:438) ~[spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732609+00:00 app[web.1]: at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:191) ~[spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732610+00:00 app[web.1]: at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180) ~[spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732610+00:00 app[web.1]: at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:153) ~[spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732611+00:00 app[web.1]: ... 16 common frames omitted
2020-04-20T03:58:24.732611+00:00 app[web.1]: Caused by: java.lang.IllegalStateException: StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[] failed to start
2020-04-20T03:58:24.732611+00:00 app[web.1]: at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.rethrowDeferredStartupExceptions(TomcatWebServer.java:171) ~[spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732618+00:00 app[web.1]: at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:110) ~[spring-boot-2.2.4.RELEASE.jar!/:2.2.4.RELEASE]
2020-04-20T03:58:24.732618+00:00 app[web.1]: ... 21 common frames omitted
2020-04-20T03:58:24.732619+00:00 app[web.1]: 
2020-04-20T03:58:25.134818+00:00 heroku[web.1]: State changed from starting to crashed
2020-04-20T04:00:36.584773+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=quantum-vaping-back.herokuapp.com request_id=a66b761b-c882-44b5-a6fe-6ac680d49354 fwd="99.228.194.163" dyno= connect= service= status=503 bytes= protocol=https
2020-04-20T04:00:36.957827+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=quantum-vaping-back.herokuapp.com request_id=042770ee-6911-45b1-83b2-5fa007819207 fwd="99.228.194.163" dyno= connect= service= status=503 bytes= protocol=https

Here is my pom.xml file这是我的 pom.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.doggydoggy.users</groupId>
    <artifactId>DoggyDoggyUsers</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>DoggyDoggyUsers</name>
    <description>Doggy Doggy backend user service</description>

    <properties>
        <java.version>1.8</java.version>
        <vaadin.version>14.1.17</vaadin.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20180130</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jersey</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web-services</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.projectreactor</groupId>
            <artifactId>reactor-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>0.9.1</version>
        </dependency>
        <dependency>
            <groupId>com.stripe</groupId>
            <artifactId>stripe-java</artifactId>
            <version>17.12.0</version>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.vaadin</groupId>
                <artifactId>vaadin-bom</artifactId>
                <version>${vaadin.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals><goal>copy</goal></goals>
                    <configuration>
                        <artifactItems>
                            <artifactItem>
                                <groupId>com.heroku</groupId>
                                <artifactId>webapp-runner</artifactId>
                                <version>9.0.30.0</version>
                                <destFileName>webapp-runner.jar</destFileName>
                            </artifactItem>
                        </artifactItems>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        </plugins>
    </build>

</project>

The project works fine locally, but always get the same error once I deployed to Heroku.该项目在本地运行良好,但一旦我部署到 Heroku,总是会出现相同的错误。 Please help请帮忙

I had the same problem, my error was in the Procfile file.我有同样的问题,我的错误在 Procfile 文件中。 Try to add尝试添加

web: java -jar target/[your-jar-file-name].jar --server.port=$PORT

and then run in command line:然后在命令行中运行:

git push heroku master

I hope this help you, regards我希望这对你有帮助,问候

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM