精华内容
下载资源
问答
  • MyEclipse上需要运行多个项目进行开发调试,配置多个TomcatTomcat4,Tomcat5,Tomcat6,项目部署到每个Tomcat之前,已更改3个Tomcat的端口号,保证没有重复,但是3个同时Debug启动,提示错误,无法同时运行。...
    近日开发过程中,MyEclipse上需要运行多个项目进行开发调试,配置多个Tomcat,Tomcat4,Tomcat5,Tomcat6,项目部署到每个Tomcat之前,已更改3个Tomcat的端口号,保证没有重复,但是3个同时Debug启动,提示错误,无法同时运行。经查询资料终于找到解决方法。
    处理方法:将3个Tomcat的配置文件server.xml 中的3个 port更改为唯一,不重复,见下图:
    展开全文
  • 打成 war 包2.1 入口类继承SpringBootServletInitializer重写configure方法2.2 配置pom.xml文件2.3 IDEA生成war包2.4 部署环境配置tomcat运行项目2.5 配置Tomcat开机自启动(非必须,根据自己情况)3. Tomcat同时...

    1. 打成 jar 包

    简单一步

    直接使用IDEA的快捷方式>>install即可

    在这里插入图片描述

    这样就出来了两个包,我们只要.jar的即可

    在这里插入图片描述

    那么.jar.original是什么?

    该解释参考blog https://blog.csdn.net/wupan6688/article/details/103629664

    官方文档给的解释:
    https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started-first-application

    在这里插入图片描述

    谷歌翻译: 您还应该在target目录中看到一个更小的文件myproject-0.0.1-SNAPSHOT.jar.original。这是Maven在Spring Boot重新打包之前创建的原始jar文件 。 (只包含少量用户的类,不包含依赖)

    .jar.original 是普通jar包,不包含依赖
    .jar 是可执行jar包,包含了pom中的所有依赖,可以直接用java -jar 命令执行
    如果是部署,就用.jar
    如果是给别的项目用,就要给.jar.original这个包
    

    2. 打成 war 包

    参考blog:https://www.cnblogs.com/vipstone/p/9540325.html

    这里的部署环境已经准备好了JDK8+Tomcat9的环境

    2.1 入口类继承SpringBootServletInitializer重写configure方法

    如果要进行生产环境部署,需要单独配置一下Spring Boot 的入口类,需要继承SpringBootServletInitializer类,重写configure方法,因为默认情况外部Tomcat不能读取到Spring Boot 入口类的main方法启动程序加载,使用需要继承,代码如下:

    package com.onemsg.hncj;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
    /**
     * 启动类,程序入口
     */
    @SpringBootApplication
    public class DemoApplication extends SpringBootServletInitializer{
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    
        /**
         * 重写configure方法,加载启动类
         * @param application
         * @return
         */
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(DemoApplication.class);
        }
    }
    

    2.2 配置pom.xml文件

    (1)先让IDEA知道你这次要配war包

    	<packaging>war</packaging>
    

    (2) 需要排除一下内置tomcat的jar包,防止打包之后与外面Tomcat jar 包冲突,导致项目启动失败,配置如下

    <!--排除内置tomcat jar包-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <scope>provided</scope>
            </dependency>
    

    (3) 修改生成文件的文件名称,可以设置build下的finalName属性,代码如下

    <build>
        <finalName>hncj-data-visualization</finalName>
    </build> 
    

    2.3 IDEA生成war包

    (1)Build>>Build Artifacts

    在这里插入图片描述

    (2)选中war>>Build

    在这里插入图片描述

    出现下面就OK

    在这里插入图片描述

    2.4 部署环境配置tomcat运行项目

    (1)把war文件复制到tomcat的webapps目录下

    (2)配置conf/server.xml

    在Host标签内添加Context设置,docBase属性填写war文件名称,配置如下:

    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">    
        <Context path="" docBase="hncj-data-visualization" debug="0" privileged="true" reloadable="true" />
        <!--
        其他代码
        -->
    </Host>
    

    (3)启动Tomcat

    Tomcat安装目录>>bin/startup.bat

    浏览器输入localhost:8080/hncj-data-visualization(刚刚配的项目名)

    到此jar包和war包都都打好了

    2.5 配置Tomcat开机自启动(非必须,根据自己情况)

    (1)进入tomcat安装目录/bin中,找到service.bat批处理文件

    (2)打开cmd命令窗口,将service.bat文件拖动到cmd命令窗口中,接着输入空格 install tomcat9回车,进行服务安装。

    (3)安装完成后,在windows服务中进行查看是否安装成功,也可以通过命令查看。

    自启动的开启可以通过服务管理界面用鼠标完成,也可以用命令行

    启动服务:net start 服务名
    
    停止服务:net stop 服务名
    
    服务自启:sc config 服务名 start=auto
    
    禁用服务:sc config 服务名 start=disabled
    

    3. Tomcat同时部署多个war包

    注:鄙人不是运维相关专业技术人员,大佬勿喷,仅提供基本的学习和使用,欢迎指出不足

    网上有很多种方法,很遗憾,在我这儿都不好用,总是出现冲突问题(可能是版本等一系列问题,不是这方面的技术人员,我也不太懂底层的原理,不过最终还是成功了),我这里依然还是Tomcat9+Jdk8的环境

    开发环境和我一样的朋友可以参考blog最后的server.xml文件进行大致的部署(这里是两个war包)

    我这里为了减少出错,直接一个项目一个端口

    原来的server.xml默认给了一个Service(端口是8080,包存放位置是webapps),上面介绍war包部署的时候就是用的这个,我直接复制两份Service粘贴到了下面,下面说一下部署到localhost需要注意的配置

    1. service_name我没改,还是用的Catalina,为了区分开,最好改一下,例如Catalina1和Catalina2

    在这里插入图片描述

    1. 接下来我以其中一个为例讲一哈

    (1)port。端口号修改,我这里第一个项目修改为8083
    (2)host-name。默认是localhost,需要部署到外网的话需要修改,这里先不动
    (3)host-appBase。默认是webapps,我这里为了区分开就另外新建项目文件夹叫hncjrygj

    在这里插入图片描述

    (4)Context。和上面介绍war包部署的时候一样,配置一下docBase(war包名)就可以了

      <Service name="Catalina">
          
          <!-- 1.端口号。我这里修改为8083 -->
        <Connector port="8083" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        <Engine name="Catalina" defaultHost="localhost">
          <Realm className="org.apache.catalina.realm.LockOutRealm">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
          </Realm>
            <!-- 2.host-name。默认是localhost,需要部署到外网的话需要修改,这里先不动 -->
            <!-- 3.host-appBase。默认是webapps,我这里为了区分开就另外新建项目文件夹叫hncjrygj -->
          <Host name="localhost"  appBase="hncjrygj"
                unpackWARs="true" autoDeploy="true">
            <!-- 4.Context。配置一下docBase(war包名)就可以了 -->
        <Context path="" docBase="hncj-data-visualization-rygj" debug="0" privileged="true" reloadable="true" />
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
          </Host>
        </Engine>
      </Service>
    
    1. 接下来相信应该就可以比葫芦画瓢,想同时部署几个就部署几个了吧。。。

    2. 最后附上我的server.xml文件(仅供参考,请根据实际需求进行配置)

    <?xml version="1.0" encoding="UTF-8"?>
    <Server port="8005" shutdown="SHUTDOWN">
      <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
      <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
      <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
      <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
      <GlobalNamingResources>
        <Resource name="UserDatabase" auth="Container"
                  type="org.apache.catalina.UserDatabase"
                  description="User database that can be updated and saved"
                  factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
                  pathname="conf/tomcat-users.xml" />
      </GlobalNamingResources>
    
      <Service name="Catalina">
        <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        <Engine name="Catalina" defaultHost="localhost">
          <Realm className="org.apache.catalina.realm.LockOutRealm">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
          </Realm>
    
          <Host name="localhost"  appBase="webapps"
                unpackWARs="true" autoDeploy="true">
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
          </Host>
        </Engine>
      </Service>
        
      <Service name="Catalina">
        <Connector port="8084" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        <Engine name="Catalina" defaultHost="localhost">
          <Realm className="org.apache.catalina.realm.LockOutRealm">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
          </Realm>
            
          <Host name="localhost"  appBase="hncjmqjc"
                unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="hncj-data-visualization-mqjc" debug="0" privileged="true" reloadable="true" />
    
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
          </Host>
        </Engine>
      </Service>
        
      <Service name="Catalina">
        <Connector port="8083" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
        <Engine name="Catalina" defaultHost="localhost">
          <Realm className="org.apache.catalina.realm.LockOutRealm">
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                   resourceName="UserDatabase"/>
          </Realm>
            
          <Host name="localhost"  appBase="hncjrygj"
                unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="hncj-data-visualization-rygj" debug="0" privileged="true" reloadable="true" />
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                   prefix="localhost_access_log" suffix=".txt"
                   pattern="%h %l %u %t &quot;%r&quot; %s %b" />
          </Host>
        </Engine>
      </Service>
    </Server>
    

    我这里配的是localhost,远程部署到学校数据中心的话修改一下对应的host就可以了

    4. 警告 [main] org.apache.catalina.webresources.Cache.getResource 无法将位于[/WEB-INF/classes/static/layui/images/face/25.gif]的资源添加到Web应用程序[]的缓存中,因为在清除过期缓存条目后可用空间仍不足 - 请考虑增加缓存的最大空间。

    部署的时候如果出现此错误

    在这里插入图片描述

    只用在../conf/context.xml里加一行

    <Resources cachingAllowed="true" cacheMaxSize="1000000" />
    

    即可

    在这里插入图片描述

    展开全文
  • 电脑不给力,一般一个tomcat部署运行个项目。 以前的做法是:用myeclipse部署到tomcat项目文件就存在了tomcat的webapps文件夹下。 如果想切换其他项目,需要把前一个项目

    用tomcat3年多了,到今天才发现这个问题,惭愧啊。难过


    以前做一个项目的时候,没发现tomcat的困难。但现在同时做多个java项目时,需要来回切换项目的运行。电脑不给力,一般一个tomcat只部署运行一个项目。


    以前的做法是:用myeclipse部署到tomcat,项目文件就存在了tomcat的webapps文件夹下。



    如果想切换其他项目,需要把前一个项目(在webapps下)删掉,然后又用myeclipse重新部署新的项目到webapps下。


    这来回一删除一部署,项目小倒无妨。如果项目体积大,就很耗时啦。


    BOSS见到以后,提点了我。


    现在的做法是: 找到conf下的server.xml文件。在<Host>中间加入

    <Context docBase="E:\workspace\myeclipse5.1\ctcoms6.29\WebRoot" path="/ctcoms"
             privileged="true" antiResourceLocking="false" antiJARLocking="false" reload="true">
    </Context>


    其中docBase指向的是 你要运行java项目的 绝对物理路径,path是你在浏览器上输入的 虚拟路径,如: http://localhost:8080/ctcoms


    当需要向运行其他java项目时,只需要更改docBase和path 就是行了。


    很简单吧,很方便,很省事吧?


    附上server.xml中的部分截图 



    展开全文
  • tomcat 修改部署路径

    千次阅读 2016-10-15 15:23:03
    1.webapps 和 wtpwebapps 文件夹区别   (1)webapps : tomcat...(3)两者同时存在,运行bin中的startup.bat,运行wtpwebapps 中部署项目 建议: 单独运行web项目 、 eclipse部署项目,不要放在同一tomca

    1.webapps 和 wtpwebapps 文件夹区别

     

    (1)webapps : tomcat默认部署路径

    (2)wtpwebapps : eclipse默认部署路径

    (3)两者同时存在,运行bin中的startup.bat,运行wtpwebapps 中部署的项目


    建议:
    单独运行web项目 、 eclipse部署项目,不要放在同一个tomcat中!

    2.修改部署路径
     启动eclipse,默认部署到wtpwebapps,某些特殊要求需要部署到webapps,这个时候我们需要修改eclipse部署路径
      (1) remove server面板下 tomcat下面的项目,否则无法修改tomcat部署,因为他默认了,不删掉无法修改再右击那个Tomcat,选择Clean,清空一下。

      (2) 双击 server面板下面的tomcat (或者右键open),进入配置页面
      (3) 选择第二个,修改deploy path 为webapps (默认是wtpwebapps,一定要修改,不然设置无效)


    展开全文
  • 1.部署个项目同时运行的话,需要开放多端口即可解决 2.找到server.xml文件,并编辑 3.修改端口 <!--修改第一处地方 --> <Server port="8007" shutdown="SHUTDOWN"> <Listener ...
  • 1)直接把 Web 项目放在 webapps 下,Tomcat 会自动将其部署 2)在 server.xml 文件上配置节点,设置相关的属性即可 3)通过 Catalina 来进行配置:进入到 conf\Catalina\localhost 文件下,创建一 xml 文件,该...
  • 作者简介 <br>编辑推荐 Jakarta Tomcat服务器是在SUN公司的JSWDK(JavaServer Web DevelopmentKit,SUN公司推出的小型Servlet/JSP调试工具)的基础上发展起来的一优秀的Java Web应用容器,它是Apache-...
  • 上一完整项目下载是针对product的一套增删改查,这同时有product和category的一套 演示项目步骤 1. 创建数据库how2java 2. 部署tomcat 3. 访问 http://localhost:8080/struts_hibernate/listCategory 步骤1...
  • 使用Eclipse导入项目ch09, 在src/config.properties中配置数据库连接信息, 然后部署项目、启动tomcat。 访问http://localhost:8080/ajax即可启动本程序。 Ch10:一简单的编译器实现 安装JDK、配置环境变量,...
  • JAVA上百实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
    3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密  Java非对称加密源程序代码实例,本例中使用...
  • Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称...
  • Tomcat是一免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这文件,并将其解压。你在浏览器中访问这应用的Jsp时,通常第一次会很...
  • Tomcat是一免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这文件,并将其解压。你在浏览器中访问这应用的Jsp时,通常第一次会很...
  • 从官方的说明中 打成jar部署是最好的方式,但是这样又有问题 如果同时部署spring-boot项目 端口不一样 怎么通过域名来访问呢,接下来就需要Nginx出手了,Nginx 是一高性能的HTTP和反向代理服务器,也是一...
  • java开源包3

    热门讨论 2013-06-28 09:20:52
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • 可以运行多个策略,由于大多交换对请求有限制,建议每个相同的同一主机交换同时运行的策略3个以下。 快速开始 clone本项目,创建下面的数据库和表 使用IDE导入本项目,使用maven方式导入项目 配置jdbc.properties...
  • Spring3.0是Spring在积蓄了3年之久后,隆重推出的一重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...
  • Spring3.0是Spring在积蓄了3年之久后,隆重推出的一重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...
  • 项目为web项目,需要部署Tomcat6.0中。此项目用fileupload实现了文件上传,实现了遍历磁盘目录下及其子目录中的内容,并提供下载。 一、文件上传部分 1.访问地址为 ...
  • Tomcat是Apache组织下Jakarta项目下的一项目,它的主网站是:/index。JSP,Weblogic的在线文档:/ 。 3、IBM Webshpere Websphere同样可以下载到免费的试用版本,到IBM的developerWorks网站可以看到Websphere...
  • java开源包1

    千次下载 热门讨论 2013-06-28 09:14:34
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • java开源包12

    热门讨论 2013-06-28 10:14:45
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • Java资源包01

    2016-08-31 09:16:25
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • 本课程所讲解的技术体系已经在多中小型互联网公司中实战运行使用,目前运行已经非常稳定,数据量也是在不断持续增加。并且,这技术体系也正在被其他很多互联网公司应用,希望通过此课程,让大家能快速熟练掌握...
  • java开源包101

    2016-07-13 10:11:08
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • java开源包11

    热门讨论 2013-06-28 10:10:38
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • java开源包2

    热门讨论 2013-06-28 09:17:39
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...
  • java开源包6

    热门讨论 2013-06-28 09:48:32
    Tomcat Native 这个项目可以让 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能。 预输入搜索 Cleo Cleo 是一灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司...

空空如也

空空如也

1 2 3
收藏数 54
精华内容 21
关键字:

tomcat3个同时部署运行项目