菜鸟教程之工具使用(二)——Maven打包非规范目录结构的Web项目

用过Maven的人都知道,Maven项目的目录结构跟传统的DynamicWeb项目有些不同。当然我们按照Maven的规范建项目最好,但是当你恰好没有按照Maven的规范来,又恰好需要使用Maven来打包,那该怎么办呢?其实很简单,这些都是可以通过配置pom文件进行更改的。

Maven标准目录结构:

 myproject/
    |-- pom.xml
    `-- src
        |-- main
        |   |-- java
        |   |   `-- com
        |   |       `-- mycompany
        |   |-- resources
        |   `-- webapp
        |       |-- WEB-INF
        |       |   `-- web.xml
        |       `-- index.jsp
        `-- test
            |-- java
            |   `-- com
            |       `-- mycompany
            `-- resources  

上面就是一个标准的Maven目录结构,而常规Web项目的jsp、js、css等文件都是放到WebContent/WebRoot里的。而Maven中,这些文件是放到webapp下的。所以,如果你直接用Maven进行install也就是打包的时候,你的页面相关的文件不会被打包进去,你会发现打好的war包里只有src下的.class文件和一些配置文件。那么如何将页面等文件也包含进去呢?

很简单,你只要告诉Maven你的jsp放在了什么位置,具体配置如下:

<build>
    <finalName>projectName</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <!--指定web.xml文件的位置-->
                <webXml>WebContent\WEB-INF\web.xml</webXml>
                <!--指定jsp等文件所在位置-->
                <warSourceDirectory>WebContent</warSourceDirectory>
            </configuration>
        </plugin>
    </plugins>
</build>

OK加上以上配置,然后执行install命令,待打包完毕,你会发现WebContent里的文件也全部包含到了war包里。现在就可以将打好的war包复制到Tomcat下运行了。

可能你会觉得打完包还得手动复制到Tomcat,每次打包都要手动复制一次很麻烦,别急,下一篇会跟大家一起来学习如何用Maven打包并自动部署到Tomcat。一篇博客学习一点就好了,大家不要着急哦!

时间: 2024-10-15 09:56:07

菜鸟教程之工具使用(二)——Maven打包非规范目录结构的Web项目的相关文章

菜鸟教程之工具使用(一)——Git的基本使用

Git是进来比较火的版本控制工具,大有取代svn的趋势.关于两种孰好孰坏我就不多费口舌了,网上关于二者的对比文章比比皆是.作为一个IT人员关注行业的发展动态是必须的,所以抽空研究了一下Git的使用.跟大家分享一下我的一些感受吧. 首先,我们想要使用Git,得先安装一个软件,那就是msysgit.软件安装很简单,一路next即可,在设置行结束转换时, 选择 "Checkout as-is, commit as-is",这样 Git 就不会修改换行风格了.设置如下图: 安装完以后就可以运行

maven新建Spring MVC + MyBatis + Oracle的Web项目中pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion&

菜鸟教程之工具使用(六)——让Maven项目直接在eclipse内部的Tomcat中运行

Hello,大家好,好久不见!最近终于安定下来了,可以静下心来写东西了.先写篇简单的,找找感觉.工具系列的本身就比较简单,没什么技术含量.因为说到底,工具只是辅助我们工作的,知道怎么用,然后剩下的就是熟练的事情了. 今天说一下如何将Maven项目直接部在Eclipse内部的Tomcat下运行: 切换到Servers视图,双击Tomcat,打开Tomcat属性面板: 在Tomcat属性面板左下角选择Modules选项卡,将默认的那一项删掉,然后添加一个扩展的Web Modules. 然后选择你项目

maven学习3,如何创建一个web项目

Maven学习 (三) 使用m2eclipse创建web项目 1.首先确认你的eclipse已经安装好m2eclipse的环境,可以参照上两篇Maven学习内容 2.新建一个maven的项目 3.下一步默认配置,使用默认的工作空间,或者你可以自己选择其他的空间 4.一般我们都是web开发,所以选择maven-archetype-webapp 5. 填写好相应的groupId,artifactId,version等信息 Maven坐标:groupId:artifactId:packaging:ve

ThinkPHP学习(二)理清ThinkPHP的目录结构及访问规则,创建第一个控制器

ThinkPHP的目录结构 回顾上一篇的安装目录: 目录对应关系 F:\\PHP├─index.php       入口文件├─README.md       README文件├─Application     应用目录├─Public          资源文件目录└─ThinkPHP        框架目录 thinkphp 的目录结构 ThinkPHP 的目录结构非常清晰和容易部署.大致的目录结构如下,以项目为基础进行部署. ┎━ThinkPHP 框架系统目录┃ ┝ ThinkPHP.ph

菜鸟教程之工具使用(二十)——解决m2eclipse插件无法执行Maven命令

在使用m2eclipse编译的时候报错,错误信息如下: -Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match. Maven3.3.x才有这个问题,之前的版本并不会出现这个错误,所以想只要换成3.3.x以前的版本就可以避免这个问题.但是新版本就没法用了吗?当然不是,解决步骤具体如下: 设一个环境变量M2_HOME指

菜鸟教程之工具使用(十四)——Maven项目右击没有“Maven”菜单选项

从Git导入一个Maven项目,右击想更新Maven引用的jar包,却发现右键菜单根本没有“Maven”菜单项.怎么办?很简单,按如下步骤操作即可: 从Git导入后,右击项目没有“Maven”菜单项: 只需一步,右击项目==>“Configure”==>“Convert to Maven Project”: 然后再次查看右键菜单,会发现“Maven”菜单项已经出现了: 出现该问题的原因是,从Git导入项目以后,Eclipse并不知道这是一个Maven项目,所以右击不会有“Maven”选项.需要

菜鸟教程之工具使用(十二)——Eclipse突出显示选中的相同变量

大家都知道在Eclipse中,选中一个变量或者方法名(或者说是一个单词),当前文件中跟他一样的变量会被突出显示,这个功能很好用.能让我们很方便的找到该变量在哪被用到了.前段时间我的Eclipse的这个功能突然失效了.真是让人恼火,这让我调起代码来特别别扭,对于这种情况绝对不能将就,必须速速地解决,问题的所在最终找到了,而且解决起来很容易,还有多种方法,下面我们一起看看: 第一种:快捷键 这种方式最快捷:Alt + Shift + O即可. 第二种:快捷菜单 这种方式也很方便,很直观,在Eclip

菜鸟教程之工具使用(九)——Git如何进行分支的merge操作

今天继续我们的Git教程,Git杀手锏级的功能就是对于分支的管理,那么今天就来说说分支之间的merge操作.merge可以说是我们日常使用最多的操作之一,通常一个merge操作会包含commit.pull.push等操作.用惯了SVN的朋友可能会觉得Git操作起来很麻烦,其实Git常用的也就那么几个操作,非常的简单,很容易上手的.下面就带大家做一个完整的merge操作. 首先,merge操作是在不同的分支间进行的,如果你还不知道分支怎么创建,那么请参考--<从GIt上导出Maven项目>.当我