目录

IDEA 部署 web 应用为 war 包

Spring boot 引入外部 Jar 包

IDEA 打包、Spring Boot Maven plugin 打包可执行 Jar、war 程序

Spring Boot 2.0.3 使用外置 Tomcat 服务器


IDEA 部署 web 应用为 war 包

1、一个 WAR 文件就是一个 Web 应用程序。建立 WAR 文件,就是把整个Web应用程序(不包括Web应用程序层次结构的根目录)压缩起来,指定一个.war扩展名。

2、开发阶段不适合使用 WAR 文件,因为在开发阶段,经常需要添加或删除 Web 应用程序的内容,而每一次改动后,重新建立WAR 文件将是一件浪费时间的事情。而在产品发布阶段,使用 WAR 文件是比较合适的,因为在这个时候,几乎不需要再做什么改动了。

3、默认情况下 IDEA 对 Java Web 应用的部署方式如下:war exploded 表示 war 包是打破的,即 war 包是解压的。这也就是为什么默认部署的 web 应用不是 war 包,而是 war 包解压后的模样。

idea java 添加外部dll文件 idea添加外部jar包_java

4、如下所示选择 "+" 新建部署方式,war 全称 "web application Archive" ---web 应用归档,来源是从解压的 war 内容进行归档。

idea java 添加外部dll文件 idea添加外部jar包_intellij-idea_02

idea java 添加外部dll文件 idea添加外部jar包_服务器_03

5、设置完成后就可以进行构建部署了,Build -> Build Artifacts...-> 项目名:war -> Build。

idea java 添加外部dll文件 idea添加外部jar包_前端_04

最后一步:如果是第一次构建,可以选择 Build,如果是重新构建,则是 Rebuild。

6、将生成好的 war 包可以直接放入到 Tomcat 的 wbapps 目录下(建议修改一下名称),然后启动 Tomcat 服务器,当服务器启动时,会自动解压 war 包,并放入到同名的文件夹中。(当以后再次启动服务器时,如果 war 已经解压,则不会再进行解压)

idea java 添加外部dll文件 idea添加外部jar包_idea java 添加外部dll文件_05

注意如果导出的war包放入webapps下不能使用时,很大原因就是Build时,没有构建完整,导致服务器启动失败,可以选择重新Build即可,保证服务器启动将war包解压后的目录大小与平时使用Web Application:Exploded部署出来的大小一致。

Spring boot 引入外部 Jar 包

1、1、有些 Jar 文件(如 Oracle 的 JDBC 驱动)由于许可证等原因,无法存放在公开仓库中。此外,还有一些小型的开源项目,它们没有将自己的构件分发到公共仓库中,也没有维护自己的仓库,无法从公共仓库中获得。

2、若 Maven 项目中需要这些组件,就需要将其下载到本地,然后可以采用以下方式:

方式1)手动安装到本地仓库,然后即可正常引用。

方式2)如果是公司内部大家都需要,且有私服,则部署到 Nexus 私服,然后即可正常引用。

方式3)直接将第三方Jar包导入到项目中使用,本文介绍方式。

直接将第三方Jar包导入到项目中使用,步骤如下

一)在项目根目录下,新建 libs 目录(与src,pom.xml等同级),把 jar 文件拷贝进来,libs 目录上右键,点击 "Add as Library..."。

idea java 添加外部dll文件 idea添加外部jar包_服务器_06

 二)在 pom.xml 添加依赖

<!--引入外部依赖包-->
        <!--scope、systemPath:指示外部依赖包的位置-->
        <!--${project.basedir}:表示项目根目录(即包含pom.xml文件的目录)-->
        <dependency>
            <groupId>com.xiaoju.uemc.tinyid</groupId>
            <artifactId>tinyid-client</artifactId>
            <version>0.1.0-SNAPSHOT</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/libs/tinyid-client-0.1.0-SNAPSHOT.jar</systemPath>
        </dependency>

三)打包配置,让其打包时自动包含外部依赖包。

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                    <!--打包配置:包括系统范围的依赖项-->
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>
        </plugins>
    </build>

IDEA 打包、Spring Boot Maven plugin 打包可执行 Jar、war 程序