精华内容
下载资源
问答
  • idea上的spring boot项目,在idea中可以正常运行.但是打成war包后在外部tomcat上运行报错 ![图片说明](https://img-ask.csdn.net/upload/202003/05/1583412587_2763.jpg) 启动类已处理,但还是报错,这个问题...
  • 1.使用idea创建一个war类型的springBoot程序,怎么创建大家可以网上搜一下, 有很多教程 2.创建的程序添加webapp文件夹及web.xml,如图 3.配置tomcat,先点击图左上角的+符号添加tomcat服务,再配置tomcat,...

    1.使用idea创建一个war类型的springBoot程序,怎么创建大家可以网上搜一下, 有很多教程
    2.在创建的程序中添加webapp文件夹及web.xml,如图
    在这里插入图片描述3.配置tomcat,先点击图中左上角的+符号添加tomcat服务,再配置tomcat,如图
    在这里插入图片描述4.将springBoot程序添加到tomcat中,点击图中红笔圈住的+符号后,选择artifact 如图
    在这里插入图片描述5.用内置的tomcat运行程序
    在这里插入图片描述
    6。使用内置tomcat运行程序时可能出现tomcat正常启动,但是springBoot程序没有启动的问题,如图
    在这里插入图片描述这时可以检查一下下图中生成的文件中有没有lib目录,目录中有么有相关jar包
    在这里插入图片描述
    如果没有生成则再WEB-INF目录下添加lib包,并把相关jar包添加到lib目录就可以正常启动springBoot程序,lib目录可以用maven打包springBoot程序生成。

    展开全文
  • Springboot发布war包部署 ...那么在IDEA中SpringBoot项目怎么打包成war包的形式呢? 首先新建一个SpringBoot项目,配置打包方式为war <parent> <groupId>org.spring...

    Springboot发布war包部署

    项目发布上线的时候,我们需要将项目打包成war包的形式,放到Tomcat的webapps下,然后运行Tomcat发布项目。那么在IDEA中SpringBoot项目怎么打包成war包的形式呢?
    首先新建一个SpringBoot项目,配置打包方式为war

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.3.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.jiuyue</groupId>
        <artifactId>springboot-war</artifactId>
        <version>1.0.0</version>
        <!--打包方式-->
        <packaging>war</packaging>
    

    这是一个web项目,前端页面我们使用JSP,则需要的依赖有:

    <dependencies>
            <!--web-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!--引入springBoot 内嵌的Tomcat对JSP的解析包-->
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-jasper</artifactId>
            </dependency>
            <!--servlet-->
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.5</version>
            </dependency>
            <!--jsp-->
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.2</version>
            </dependency>
            <!--jstl-->
            <dependency>
                <groupId>jstl</groupId>
                <artifactId>jstl</artifactId>
                <version>1.2</version>
            </dependency>
        </dependencies>
    

    在application.properties配置文件中配置前后缀

    server.port=8088
    spring.mvc.view.prefix=/
    spring.mvc.view.suffix=.jsp
    

    控制器类,提供访问接口

    @Controller
    public class WarController {
        @RequestMapping("war/json")
        @ResponseBody
        public Object json( ){
            Map<String,Object> map = new HashMap<String,Object>();
            map.put("name","九月json");
            return map;
        }
    
        @RequestMapping("war/jsp")
        public String home(Model model){
            System.out.println("jsp");
            model.addAttribute("name","九月jsp");
            return "home";
        }
    }
    

    需要Maven插件,以及需要配置webapp下面的资源文件信息

     <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
            <resources>
                <resource>
                    <directory>src/main/webapp</directory>
                    <targetPath>META-INF/resources</targetPath>
                    <includes>
                        <include>**/*.*</include>
                    </includes>
                </resource>
            </resources>
        </build>
    

    在启动类需要继承SpringBootServletInitializer并重写它的configure方法。

    /**
     * Create bySeptember
     * 2019/3/3
     * 14:56
     */
    @SpringBootApplication
    public class Application extends SpringBootServletInitializer {
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(Application.class);
        }
    
        public static void main(String[] args) {
            SpringApplication.run(Application.class,args);
        }
    }
    

    在Maven Projects的项目找到该项目===》打开项目===》Lifecycle===》install。
    则在maven仓库中生成了项目的war包。
    把war包复制到你的Tomcat的webapps下运行Tomcat的就完成了发布war包部署

    展开全文
  • intellij idea在运行web项目时部署的位置(tomcat)

    万次阅读 多人点赞 2017-09-19 15:47:17
    在idea中运行tomcat,把项目部署运行起来,然后我去tomcat目录下去看,找不到我部署的项目 那我的项目是怎么运行起来的? 说明一下:这里是使用tomcat 部署成war exploded 而不是war包。 war exploded模式是直接

    http://m.blog.csdn.net/Victor_Cindy1/article/details/72680553


    以前一直很好奇,在idea中运行tomcat,把项目部署到其中,运行起来,然后我去tomcat目录下去看,根本找不到我部署的项目 那我的项目是咋运行的啊… - -

    后来我就查啊查 ,纠结啊纠结,然后大概知道是咋回事了:

    在idea中配置的tomcat,在运行时idea不会把项目放到该路径下,而是复制一份足够的配置文件,到 ${user.home}/.IntelliJIdea/system/tomcat 目录下:

    这里写图片描述

    也就是说每个项目都有属于自己的一份tomcat配置,互不干扰。

    每个项目的配置文件夹中有一个 /conf/Catalina/localhost/ROOT.xml 文件,内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <Context path="" docBase="D:\work\项目\target\xxx-web" />
    • 1
    • 2

    其中,path是指在访问此项目时,是否需要添加额外的路径,如果为空,则直接使用域名或者ip就可以访问到该项目:127.0.0.1。这个值在ieda中的Run/Debug Configurations中可以配置:

    这里写图片描述

    docBase是指要运行的项目的部署位置,D:\work\项目 就是我的项目源代码的位置,target是由maven构建后生成的,D:\work\项目\target\xxx-web 目录就是maven build完成之后生成的项目,结构如下:

    这里写图片描述

    而idea启动tomcat的命令为:

    这里写图片描述

    也就是说,整个项目运行过程为:首先maven build项目,将构建结果写到项目的target目录下,然后idea复制一份tomcat的配置文件到${user.home}/.IntelliJIdea/system/tomcat 中,之后启动tomcat安装目录下的catalina.bat文件,tomcat读取配置文件,找到项目位置,然后就运行起来了。




    在idea中运行tomcat,把项目部署运行起来,然后我去tomcat目录下去看,找不到我部署的项目 那我的项目是怎么运行起来的?

    说明一下:这里是使用tomcat 部署成war exploded 而不是war包。

    war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。

    在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。


    如上,将两处都修改成Update resources即可。

    webapps下面文件夹都翻了一遍,都没有发现部署的项目。


    去work文件夹下也看了一遍,是空的。


    后来发现,在idea中配置的tomcat,在运行时idea不会把项目放到自己的webapps路径下,而是复制三份文件到 ${user.home}/.IntelliJIdea/system/tomcat 目录下的各自项目。

    我们进入该目录,看到如下(名称是通过我们的项目名转化而来):


    也就是说每个项目都有属于自己的一份tomcat配置,互不干扰。

    我们进入其中一个项目下,看到如下:(在自己的tomcat安装目录下是看不到日志的,日志在这里,还有一些配置文件)


    每个项目的配置文件夹中有一个 /conf/Catalina/localhost/ROOT.xml 文件,内容如下:


    其中,path是指在访问此项目时,是否需要添加额外的路径,如果为空,则直接使用域名或者ip就可以访问到该项目:127.0.0.1。这个值在ieda中的Run/Debug Configurations中可以配置:(即Application context)




    如果现在我在Application context加上:/springSecurityDemo


    Server这边会自动加入:springSecurityDemo/


    这时候,我们运行tomcat之后,在conf/Catalina/localhost没有发现ROOT.xml,而是springSecurityDemo.xml文件,内容如下:



    这时候项目的访问路径是:http://localhost:8145/springSecurityDemo/

    docBase是指要运行的项目的部署位置,/myProject/springSecurityDemo 就是我的项目源代码的位置,build是由gradle构建后生成的,gradle build完成之后生成的项目,结构

    如下:


    而idea启动tomcat的命令在这里:


    整个项目运行过程是:首先gradle build项目,将构建结果写到项目的build目录下,然后idea复制一份tomcat的conf、logs和work文件夹到${user.home}/.IntelliJIdea/system/tomcat 中,之后启动tomcat安装目录下的catalina.sh文件,tomcat读取配置文件,找到项目位置,然后就运行起来了。

    -------------------------------------------------------------------------------------

    如果是使用tomcat 部署成是war包。那么会不会就能在自己安装的tomcat中找到呢?

    刚开始我将项目改为war部署的方式,但是运行之后tomcat中始终没有项目的文件。后来发现如果将当前的Application context设置为’/’,那么

    tomcat也不会将项目部署到webapps中,因为这个相当于你项目的根路径。后来经过实践,发现这个Application context就是你项目在webapps路径下项目的根目录名。 


    展开全文
  • idea运行tomcat,把项目部署运行起来,然后我去tomcat目录下去看,找不到我部署的项目 那我的项目是怎么运行起来的? 说明一下:这里是使用tomcat 部署成war exploded 而不是war包 war exploded模式是直接把文件夹、...

    首先下载tomcat
    https://tomcat.apache.org/

    放在指定的盘中或liunx 进行解压 即可
    找到 idea 项目设置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    idea运行tomcat,把项目部署运行起来,然后我去tomcat目录下去看,找不到我部署的项目 那我的项目是怎么运行起来的?
    说明一下:这里是使用tomcat 部署成war exploded 而不是war包
    war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。
    在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来

    tomcat也会将项目部署到webapps中,因为这个相当于你项目的根路径。后来经过实践,发现这个Application context就是你项目在webapps路径下项目的根目录名

    展开全文
  • 在idea中运行tomcat,把项目部署运行起来,然后我去tomcat目录下去看,找不到我部署的项目 那我的项目是怎么运行起来的? 说明一下:这里是使用tomcat 部署成war exploded 而不是war包。 war exploded模式是直接把...
  • idea 使用gradle开发ssm项目,怎么在根项目建立多个module(每个module也是ssm,且可独立运行),并且打包的时候能把多个module打成根项目的war? 1:比如项目结构如下: project-root |_project-sub1 |_...
  • 首先要在IDEA进行打包, 然后才在Linux进行部署运行 在此之前有两个需要注意的地方,也就是父项目(goods_parent)和web项目(goods_web)的Pom.xml 步骤一:查看父项目Pom.xml是否有 <build>相应的打包依赖,...
  • 发现Deployment下面的war包全部是×× 但是记得我昨天运行的没有问题啊 打开Tomcat 发现全部报红,怎么回事?无数个问号出现我的脑海 上网查资料各种操作 什么缓存问题啊,导入一次Deplo...
  • 这种方式是将你当前不需要改变的写好的项目放在Tomcat中运行,要是你在IDEA中对你的项目重新修改的话,就不会在Tomcat中运行生效,原因是这种方式是一次性将你的项目打包放在服务器里,不可以实时得去修改,修改之后...
  • 我用的是idea2017,项目...我service注入到的mapper的时候报红,但是能正常运行, service引入了dao 的 请问这种报红怎么去掉![图片说明](https://img-ask.csdn.net/upload/201802/05/1517818413_259282.jpg)
  • 我们知道Web项目最终是需要打包成war包进行发布的,而且Tomcat会将war包的名称加入到访问的URL,这就给开发过程怎么仔细的人造成了困扰。 Tomcat的配置有一个Application context,这是使用IDEA运行项目...
  • 问题:一个前端妹子找到我,给我说:他是做前端,他不想他电脑运行源码(idea运行整个SpringCoud),而服务器上的前端服务启动的是一个Jar,他的H5页面修改完无法服务上调试。我说,那你使用Fiddler可以本机调试...
  • 在idea中运行tomcat,把项目部署运行起来,然后我去tomcat目录下去看,找不到我部署的项目 那我的项目是怎么运行起来的? 说明一下:这里是使用tomcat 部署成war exploded 而不是war包。war exploded模式是直接把...
  • 还是打成war包丢到tomcat等服务中运行?其实前面两种是非常普遍的部署方式,但如果服务数量多时,同样的部署操作我们可能需要做很多次,并且非常容易出现部署环境的配置等不同导致的部署问题,docker的部署方式就...
  • ![图片说明]... 在idea中部署好tomcat,并产生war包,在运行的时候tomcat自带的界面显示完全没问题,但是自己的页面遇到异常,web.xml文件解析绝对路径的情况。 希望大神们看看是怎么回事
  • 给已有的spring boot项目配置Tomcat运行

    千次阅读 2018-07-04 09:19:10
    对于很多新同学可能第一次从git上clone新项目后不知道怎么运行,对于spring boot项目在idea中,如果是jar打包方式则可直接运行,对于war打包,则需要配置Tomcat。1、查看打包方式2、编辑运行配置3、按步骤操作就好4...
  • 其实不论是开发工具中运行还是 Tomcat 中运行,Java 程序的执行流程基本都是相同的,它的执行流程如下: 先把 Java 代码编译成字节码,也就是把 .java 类型的文件编译成 .class 类型的文件。这个过程的大致执行...
  • 01 Java程序是怎么执行的? 我们日常的工作中都使用开发工具(IntelliJ IDEA 或 Eclipse 等)可以很方便的调试程序,或者是...其实不论是开发工具中运行还是 Tomcat 中运行,Java 程序的执行流程基本都是相同...

空空如也

空空如也

1 2
收藏数 22
精华内容 8
关键字:

war包怎么在idea中运行