`
obullxl
  • 浏览: 182362 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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
1
分享到:
评论
2 楼 xunke515 2013-12-25  
感谢分享.
1 楼 obullxl 2010-04-20  
增加两个功能

1、打包时加下源jar包,形如:XXX-sources.jar
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.0.2</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>

2、下载依赖时,同时下载源代码
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<downloadSources>true</downloadSources>
</configuration>
</plugin>

相关推荐

Global site tag (gtag.js) - Google Analytics