欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Maven新建打包等管理Eclipse标准动态Web工程

程序员文章站 2022-06-06 19:02:15
...

如今不再使用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、附件就是本示例。

 

~~~~~~~~~~~~~~~