zoukankan      html  css  js  c++  java
  • 部署web应用程序到tomcat

    昨天将一个web项目部署到本地的tomcat,历程很艰辛,各种报错。首先这个项目可以用eclipse内嵌的jetty启动起来,试着用tomcat容器,各种报错。以下是详细步骤:

    1、用eclipse打包程序,右键项目--run as--run configurations --maven build--右键新建,如下图

    2、打包报错:编码gbk 的不可映射字符

    因为我的项目是从svn检出的,有的文件编译格式是gbk,不是utf-8,所以在pom.xml中的maven-compiler-plugin中加入<encoding>utf8</encoding>

    <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.0</version>
            <configuration>
              <source>1.6</source>
              <target>1.6</target>
              <encoding>utf8</encoding>
            </configuration>
    </plugin>

    3、在项目的target文件夹下有打成功的war包,但是项目的webapp文件夹里的配置文件没有打入包里

    打包日志里有一句Copying webapp resources [D:workspace_armc_app3armc-asiWebContent],这应该是将webapp里的配置文件打在了webcontent文件夹,但是查看了下,右键项目--build path--configure build path--Deployment Assembly,已经设置了webapp的文件打到路径"/"下,如图

    结果发现pom.xml文件里有<warSourceDirectory>WebContent</warSourceDirectory>,将它注掉了,就好了

    <plugin>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.3</version>
            <configuration>
              <!-- <warSourceDirectory>WebContent</warSourceDirectory> -->
              <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
          </plugin>

    4、将打好的war包放置在本地tomcat的webapps文件夹里

    5、启动tomcat(cmd,进入到apache-tomcat-7.0.82in下,执行命令startup.bat,闭关 tomcat用shutdown.bat)

    6、访问http://localhost:8080/成功
    7、访问http://localhost:8080/项目名失败,提示404,为了在eclipse控制台里好看错误日志,决定在eclipse中设置tomcat

    8、此时我修改了一下tomcat访问端口,改为了8081


    9、接下来eclipse中配置tomcat,windows--preferences-tomcat

    localhost下写配置文件armc-asi.xml

    <Context path="/armc-asi" docBase="D:workspace_armc_app4armc-asisrcmainwebapp" reloadable="true"> 
    
            <Resource acquireIncrement="2" auth="Container" description="Oracle 11g Connection Pool" 
                driverClass="oracle.jdbc.driver.OracleDriver" 
                factory="org.apache.naming.factory.BeanFactory" 
                jdbcUrl="jdbc:oracle:thin:@ip:port:service-name" maxPoolSize="10" minPoolSize="2" 
                 password="" type="com.mchange.v2.c3p0.ComboPooledDataSource" user=""/>
        
    </Context>

    10、右键项目,run on server,警告

    警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:armc-asi' did not find a matching property.
    解决办法:双击server,勾选publish module contexts...
    11、接着报错:找不到类,但是已经引入了jar包,后来发现pom中有的jar包是provided,将其注释掉就可以了,如果有provided,那么jar包是不会打入包里的

    <dependency>
    <groupId>weblogic</groupId>
    <artifactId>wlclient</artifactId>
    <version>1.0.0</version>
    <!-- <scope>provided</scope> -->
    </dependency>
    <dependency>
    <groupId>weblogic</groupId>
    <artifactId>wljmsclient</artifactId>
    <version>1.0.0</version>
    <!-- <scope>provided</scope> -->

    12、接着报错:
    Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'
    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    但是项目已经引入了ojdbc6.jar
    原因是没有把ojdbc6.jar放到D:apache-tomcat-7.0.82lib下,查了一下tomcat只会查自己lib下的驱动
    13、继续报错,双击server,改下时间上限即可,默认是45



    14、继续报错
    Exception in thread "http-bio-8081-exec-2" Exception in thread "http-bio-8081-exec-1" Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" Exception in thread "http-bio-8081-exec-3"
    JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=256M"

  • 相关阅读:
    。。。剑指Offer之——二叉树的镜像。。。
    。。。剑指Offer之——树的子结构。。。
    。。。剑指Offer之——合并两个排序的链表。。。
    。。。剑指Offer之——反转链表。。。
    。。。剑指Offer之——链表中倒数第k个结点。。。
    。。。剑指Offer之——调整数组顺序使奇数位于偶数前面。。。
    。。。剑指Offer之——数值的整数次方。。。
    。。。剑指Offer之——二进制中1的个数。。。
    。。。剑指Offer之——跳台阶。。。
    。。。剑指Offer之——斐波那契数列。。。
  • 原文地址:https://www.cnblogs.com/BonnieWss/p/8961012.html
Copyright © 2011-2022 走看看