如今不再使用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:///POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http:///POM/4.0.0 http:///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、附件就是本示例。
~~~~~~~~~~~~~~~