1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > intellij idea 导出可发布的maven web 项目

intellij idea 导出可发布的maven web 项目

时间:2018-08-26 01:11:47

相关推荐

intellij idea 导出可发布的maven  web 项目

IntelliJ IDEA导出war包:

1)单击最左下角的选项按钮;

2)在右侧弹出的maven projects选项展开Lifecycle/package,双击或点击上面的执行按钮,即可;

3)默认会把打好的war包放在在target目录下。

可以看见导出的war包路径

【注意】

默认情况下在IDEA maven项目中src源代码下的xml等资源文件,并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。(如把mapper.xml及Analyzer词典等文件放在src/main/Java目录下的情况)

在IDEA有两种方式解决:

1)建立src/main/resources文件夹,将xml等资源文件放置到这个目录中。maven工具默认在编译的时候,会将resources文件夹中的资源文件一块打包进classes目录中。

2)配置maven的pom文件配置,在pom文件中找到节点,添加下列代码:

<build><resources><resource><directory>src/main/java</directory><includes><include>**/*.xml</include></includes></resource></resources></build>1234567891012345678910

在Tomcat中部署war:

1、将war文件拷贝到tomcat目录webapps下(不要再建目录)。

2、将必要的jar文件拷贝到tomcat目录libxia下。 maven打包时已经将需要的jar打到class目录下,不再需要单独导包。

3、修改tomcat目录conf下的server.xml。

在中加入:

<Context path="/manager" docBase="manager" debug=“0" privileged="true"/>11

path=“” 为部署后运行的url路径,可直接设定path为“”,则根目录直接打开;docBase为你的war的文件名。 第一次运行的时候,tomcat会自动解压war,生成path指定名称的网站。这里docBase中的”manager”就表示war文件名称为“manager.war”;reloadable:如果设置为”true”,则表示当你修改jsp文件后,不需要重启服务器就可以实现页面显示的同步.

4、完毕,通过bin/startup.sh启动tomcat 即可。

【注意:在低内存的服务器上,若要更新war包,最好先shutdown tomcat,否则直接替换war会加载大量的class到内存中,以致内存撑爆。】

【在1G的内存的免费版ES2,发现该问题,每次都需要重启实例,多么痛的领悟】

前端静态资源缓存的问题

若在新版本若修改了js,css等静态资源,在发布新版本时,一般通过war包进行替换,但在Chrome等浏览器中还缓存之前的静态资源,如不清除,则还使用之前的资源文件,就会出现资源访问错误。

一般可通过对js,css等静态资源文件变更文件名来解决。

如淘宝:cssjs的引入是通过他们的CDN分布式形式,而且后面带有?t=0105。作用:标注版本号;用随机数防止缓存。

对于上传的图片等静态资源的保存

1)千万不要将保存路径放置于运行环境下,应使用一个单独的绝对路径。(在发新的war包会将原运行环境的下目录都替换掉,若图片保存在运行环境下则会被清掉)

2)使用虚拟目录映射来解决请求的url与静态资源的映射。即将图片文件存放于一个单独的目录内,配置请求的url与该目录的映射关系,使在访问图片资源时自动从该独立的目录下去访问。

【注意:目录的路径是从根目录下的绝对路径,即保证能在任何目录都能直接使用cd命令打开的路径】

【若使用ngnix来控制静态资源的访问,则可以跳过!】

3)在tomcat/conf/server.xml中配置

<Context path="/" docBase="FBlog" debug="0" privileged="true"/><Context path="/uploads" docBase="///custom_file/uploads" reloadable=“false"/>1212

或者在spring-mvc.xml配置文件中使用

<!-- 处理独立的资源目录虚拟路径映射 --><mvc:resources mapping="/post/**" location="file:///custom_file/uploads/"/>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。