Maven新建打包等管理Eclipse标准动态Web工程
如今不再使用MyEclipse了,以前一直使用MyEclipse,是因为大都情况下开发的都是Java Web应用,而MyEclipse在这方面开发就让我省去了很多的工作。
文件同步、Tomcat等配置情况已经在“抛弃MyEclipse,使用Eclipse插件”中解决了。在此非常感谢toeo对我的帮助指导,让我省去很多的工作。
Maven离不开POM文件(工程对象模型,XML文件)。用Maven生成Eclipse JAVA工程是非常方便的,在生成完成后几乎不需要做任何自定义的工作(除了增加依赖)。而生成Eclipse标准动态JavaWeb工程就不那么顺利了,需要手动改几个地方,不过这个修改是一劳永逸的(附件中提供了一个修改好的POM项目,下载后,敲几个命令就可以搞定了)。
1、生成一个Web工程,这个工程不是一个Eclipse标准的动态Web工程。
mvn archetype:create -DgroupId=com.aboy.webmap -DartifactId=webmap -DarchetypeArtifactId=maven-archetype-webapp
上面的命令中,有两个是自定义的:
-DgroupId=com.aboy.webmap:生成pom的<groupId>com.aboy.webmap</groupId>节点,主要是本工程生成的JAR包提给于其它工程依赖时,要用的。对于一个独立的工程,这个可以是随便一个字符串就行了,不过还是推荐使用用意义的字串,因为后面的文章将会介绍多个模块的应用时,就有用了。这个设置可以在生成后修改。
-DartifactId=webmap:将会生成的文件夹名,也是Eclipse中Web工程的名字。这个设置也可以在生成后修改。
2、这条命令执行完后,将会在当前目录下生成一个“webmap”文件夹,这就是一个POM工程了。
该文件夹下有一个“pom.xml”文件和一个“src"目录。
pom.xml文件将是修改的重点。
3、建立相关目录
删除src/main中的webapp目录,而增加java目录;
在src/下增加test目录,与main目录平行;
在src/test目录下增加java和resources目录。
至此,src目录结构为:
src
| --main
| | --java
| | --resources
| --test
| | --java
| | --resources
增加一个WebRoot目录,与src同级,这个目录是干什么的、以及里面的目录结构,我相信就不要说明了。
4、修改pom.xml文件
在</porject>前增中以下内容
<build> <finalName>ROOT</finalName> <outputDirectory>WebRoot/WEB-INF/classes</outputDirectory> <defaultGoal>install</defaultGoal> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.5</source> <target>1.5</target> <encoding>GBK</encoding> </configuration> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>GBK</encoding> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <webappDirectory>WebRoot</webappDirectory> <warSourceDirectory>WebRoot</warSourceDirectory> </configuration> </plugin> </plugins> </build>
build里的内容也是可以自行修改的,以下几个特别说明下:
<finalName>ROOT</finalName>:发布前执行时,生成ROOT.war文件。
<outputDirectory>WebRoot/WEB-INF/classes</outputDirectory>:编译后的.class文件和源目录下的文件存放的地方,这个是最关键的。
其它的内容就没有什么可说明的了,看看就知道了,整个文件如下如示:
<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>4.0.0</modelVersion> <groupId>com.aboy.webmap</groupId> <artifactId>webmap</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>webmap Maven Webapp</name> <url>http://obullxl.iteye.com</url> <dependencies> <!-- logging --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.13</version> </dependency> <!-- test --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>ROOT</finalName> <outputDirectory>WebRoot/WEB-INF/classes</outputDirectory> <defaultGoal>install</defaultGoal> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.5</source> <target>1.5</target> <encoding>GBK</encoding> </configuration> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>GBK</encoding> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <configuration> <webappDirectory>WebRoot</webappDirectory> <warSourceDirectory>WebRoot</warSourceDirectory> </configuration> </plugin> </plugins> </build> </project>
5、生成eclipse工程
pom.xml文件搞定了,剩下的工作就是敲敲命令了,其它的事情让Maven帮我们搞定。
mvn eclipse:myeclipse
6、一些常用的命令
mvn archetype:create -DgroupId=com.aboy.webmap -DartifactId=webmap -DarchetypeArtifactId=maven-archetype-webapp mvn clean:删除target目录下所有生成的war,jar mvn install:生成war,jar包 mvn eclipse:eclipse:增加eclipse属性(.project, .classpath文件) mvn eclipse:myeclipse:增加eclipse属性(增加web属性)mvn eclipse:clean:去掉eclipse属性 mvn eclipse:eclipse -DdownloadJavaDocs=true:在下载依赖包时,也下载其JavaDocs文件 mvn test:运行应用程序中的单元测试 mvn package:依据项目生成jar文件 mvn install:将项目的jar文件添加到本地的Maven库中 mvn site:生成项目相关信息的网站 mvn clean:清除目标目录中的生成结果 mvn eclipse:eclipse:生成Eclipse项目文件
7、附件就是本示例。
~~~~~~~~~~~~~~~
上一篇: 浅析绿萝算法下个人站长究竟该如何建设外链
下一篇: 第3章 ES6语法简介(读书笔记)