最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot項(xiàng)目打成war包部署到tomcat遇到的一些問(wèn)題

 更新時(shí)間:2017年06月22日 10:28:11   作者:will_lam  
這篇文章主要介紹了springboot項(xiàng)目打成war包部署到tomcat遇到的一些問(wèn)題,需要的朋友可以參考下

開發(fā)環(huán)境使用jdk1.8.0_60,把springboot 項(xiàng)目打成war包后,

部署到apache-tomcat-7.0.68時(shí)報(bào)錯(cuò)如下,換成apache-tomcat-8.0.9解決

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/my-springboot-web-0.0.1]]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1980)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;
    at org.apache.tomcat.websocket.server.WsServerContainer.<init>(WsServerContainer.java:149)
    at org.apache.tomcat.websocket.server.WsSci.init(WsSci.java:131)
    at org.apache.tomcat.websocket.server.WsSci.onStartup(WsSci.java:47)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5573)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
    ... 10 more
六月 22, 2017 12:19:15 上午 org.apache.catalina.startup.HostConfig deployWAR
嚴(yán)重: Error deploying web application archive E:\Data\apache-tomcat-7.0.68\webapps\my-springboot-web-0.0.1.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/my-springboot-web-0.0.1]]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:903)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1091)
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1980)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

另外springboot項(xiàng)目打成war包部署到tomcat時(shí)需要改變啟動(dòng)方式,否則運(yùn)行tomcat時(shí)war包只會(huì)解壓,但是加載不了

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
@SpringBootApplication  //- springboot項(xiàng)目,并配置掃描路徑
@EnableAutoConfiguration //- springboot自動(dòng)配置,這個(gè)注解可以根據(jù)你依賴的包自動(dòng)生成相關(guān)配置
public class StartApp extends SpringBootServletInitializer {
  public static void main(String[] args) {
    SpringApplication.run(StartApp.class, args);
  }
  /**
   * 需要把web項(xiàng)目打成war包部署到外部tomcat運(yùn)行時(shí)需要改變啟動(dòng)方式
   */
  @Override
  protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    return builder.sources(StartApp.class);
  }

部署到外部tomcat時(shí),注意pom.xml配置,否則會(huì)報(bào)錯(cuò)

<!-- 這里指定打war包的時(shí)不再需要tomcat相關(guān)的包,但是本地運(yùn)行時(shí)必須注釋掉,否則會(huì)報(bào)錯(cuò) -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <version>1.3.5.RELEASE</version>
      <scope>provided</scope>
    </dependency>
**報(bào)錯(cuò)信息:**
org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
  at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:133)
  at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)
  at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
  at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:766)
  at org.springframework.boot.SpringApplication.createAndRefreshContext(SpringApplication.java:361)
  at org.springframework.boot.SpringApplication.run(SpringApplication.java:307)
  at org.springframework.boot.SpringApplication.run(SpringApplication.java:1191)
  at org.springframework.boot.SpringApplication.run(SpringApplication.java:1180)
  at com.StartApp.main(StartApp.java:13)
Caused by: java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory
  at org.apache.catalina.util.LifecycleBase.<clinit>(LifecycleBase.java:37)
  at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:158)
  at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:160)
  at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:130)
  ... 8 more
Caused by: java.lang.ClassNotFoundException: org.apache.juli.logging.LogFactory
  at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  ... 12 more

springboot項(xiàng)目使用jsp頁(yè)面時(shí)會(huì)添加以下依賴,但是在外部tomcat運(yùn)行時(shí)會(huì)報(bào)錯(cuò)

因?yàn)閠omcat /lib下自帶的jar包(jasper.jar,jsp-api.jar等)會(huì)跟war包項(xiàng)目路徑/lib下的解析jsp的jar包沖突

刪除項(xiàng)目路徑/lib下的相關(guān)jar包即可,如下圖

<!-- 添加jsp支持 -->
    <dependency>
      <groupId>org.apache.tomcat.embed</groupId>
      <artifactId>tomcat-embed-jasper</artifactId>
      <version>8.0.33</version>
    </dependency>
**報(bào)錯(cuò)信息:**
[ERROR][2017-06-22 00:48:28,303][org.springframework.boot.context.web.ErrorPageFilter]Forwarding to error page from request [/excel] due to exception [java.lang.LinkageError: loader constraint violation: when resolving method "org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/jsp/excel_jsp, and the class loader (instance of java/net/URLClassLoader) for the method's defining class, org/apache/jasper/runtime/InstanceManagerFactory, have different Class objects for the type org/apache/tomcat/InstanceManager used in the signature]
javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving method "org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/jsp/excel_jsp, and the class loader (instance of java/net/URLClassLoader) for the method's defining class, org/apache/jasper/runtime/InstanceManagerFactory, have different Class objects for the type org/apache/tomcat/InstanceManager used in the signature

默認(rèn)配置下就可以通過(guò)http://localhost:8080/war包名/@RequestMapping.value訪問(wèn)了, 另外部署到tomcat后靜態(tài)資源(resources下的js文件)訪問(wèn)不到的問(wèn)題還沒解決。。。

以上所述是小編給大家介紹的springboot項(xiàng)目打成war包部署到tomcat遇到的一些問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 詳解Java中的 枚舉與泛型

    詳解Java中的 枚舉與泛型

    這篇文章主要介紹了 詳解Java中的 枚舉與泛型的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 解決idea 通過(guò)build project 手動(dòng)觸發(fā)熱部署失敗的問(wèn)題

    解決idea 通過(guò)build project 手動(dòng)觸發(fā)熱部署失敗的問(wèn)題

    在debug運(yùn)行項(xiàng)目的過(guò)程中,并且保證(不添加方法,不修改方法名)一定的規(guī)則的情況下,可以通過(guò)build project 來(lái)手動(dòng)熱部署項(xiàng)目,本文給大家介紹解決idea 通過(guò)build project 手動(dòng)觸發(fā)熱部署失敗的問(wèn)題,感興趣的朋友一起看看吧
    2023-12-12
  • Java不借助第三變量實(shí)現(xiàn)兩數(shù)交換的示例

    Java不借助第三變量實(shí)現(xiàn)兩數(shù)交換的示例

    本文主要介紹了Java不借助第三變量實(shí)現(xiàn)兩數(shù)交換的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java中FileWriter類的簡(jiǎn)介說(shuō)明

    Java中FileWriter類的簡(jiǎn)介說(shuō)明

    這篇文章主要介紹了Java中FileWriter類的簡(jiǎn)介說(shuō)明,FileWriter類提供了多種寫入字符的方法,包括寫入單個(gè)字符、寫入字符數(shù)組和寫入字符串等,它還提供了一些其他的方法,如刷新緩沖區(qū)、關(guān)閉文件等,需要的朋友可以參考下
    2023-10-10
  • Java實(shí)現(xiàn)FTP批量大文件上傳下載篇1

    Java實(shí)現(xiàn)FTP批量大文件上傳下載篇1

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)FTP批量大文件上傳下載的基礎(chǔ)篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • java中的常用集合類整理

    java中的常用集合類整理

    在本篇文章里小編給大家整理的是關(guān)于java中的常用集合類的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2019-12-12
  • Spring boot Rabbitmq消息防丟失實(shí)踐

    Spring boot Rabbitmq消息防丟失實(shí)踐

    這篇文章主要介紹了Spring boot Rabbitmq消息防丟失實(shí)踐,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • SpringBoot3+graalvm:整合并打包為可執(zhí)行文件方式

    SpringBoot3+graalvm:整合并打包為可執(zhí)行文件方式

    本文介紹了如何在Spring Boot 3中整合GraalVM,并將其打包為可執(zhí)行文件,適用于Windows和Linux系統(tǒng),通過(guò)安裝GraalVM、配置環(huán)境變量、下載Visual Studio組件(僅限Windows)以及使用Maven容器(適用于Linux),可以實(shí)現(xiàn)高效的打包和運(yùn)行
    2024-12-12
  • java能寫爬蟲程序嗎

    java能寫爬蟲程序嗎

    在本篇文章里小編給大家整理的是一篇關(guān)于java是否能寫爬蟲程序的一篇文章,對(duì)此有興趣的朋友們可以學(xué)習(xí)下。
    2021-01-01
  • Java數(shù)據(jù)結(jié)構(gòu)二叉樹難點(diǎn)解析

    Java數(shù)據(jù)結(jié)構(gòu)二叉樹難點(diǎn)解析

    樹是一種重要的非線性數(shù)據(jù)結(jié)構(gòu),直觀地看,它是數(shù)據(jù)元素(在樹中稱為結(jié)點(diǎn))按分支關(guān)系組織起來(lái)的結(jié)構(gòu),很象自然界中的樹那樣。樹結(jié)構(gòu)在客觀世界中廣泛存在,如人類社會(huì)的族譜和各種社會(huì)組織機(jī)構(gòu)都可用樹形象表示
    2021-10-10

最新評(píng)論

三门县| 扎鲁特旗| 津市市| 河东区| 翼城县| 佛教| 沙湾县| 启东市| 屏东县| 柘荣县| 嘉鱼县| 巫山县| 伊春市| 通江县| 壤塘县| 怀化市| 平泉县| 东兰县| 永善县| 广丰县| 乌什县| 安塞县| 德庆县| 和田县| 丰顺县| 车致| 年辖:市辖区| 从化市| 台山市| 玉环县| 建昌县| 远安县| 巫山县| 博爱县| 镇宁| 宝清县| 娄烦县| 天柱县| 那曲县| 新乡县| 高邑县|