三、Maven 和eclipse 开发项目
1、创建java项目
要使用Maven生成一个Java项目,可以使用如下的命令:
生成Java项目命令mvn archetype:generate –DgroupId={packaging.path} –DartifactId={project-id} –DarchetypeArtifactId=maven-archetype-quickstart –DinteractiveMode=false
如:在命令窗口中,进入workspace 目录下,workspace为存放项目的目录空间
C:\Users\lxh\workspace>
mvn archetype:generate -DgroupId=com.test -DartifactId=javatest -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
在workspace空间里就会出现javatest的工程
Maven生成的Java项目转换为Eclipse支持格式的项目。
C:\Users\lxh\workspace>javatest
执行 mvn eclipse:eclipse
2、创建web项目
生成Java Web项目命令 mvn archetype:generate –DgroupId={packaging.path} –DartifactId={project-id} –DarchetypeArtifactId=maven-archetype-webapp –DinteractiveMode=false
C:\Users\lxh\workspace>
mvn archetype:generate -DgroupId=com.test -DartifactId=javatestweb -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
在workspace空间里就会出现javatestweb的工程
Maven生成的Java web项目转换为Eclipse支持格式的项目。
C:\Users\lxh\workspace>javatestweb
执行 mvn eclipse:eclipse –Dwtpversion=2.0
转换以后,我们会注意到,创建了两个标准的Eclipse的新文件:.classpath和.project。此外,创建了一个新的“.setting”文件夹,里面包含有“org.eclipse.wst.common.component”和“org.eclipse.wst.common.project.facet.core.xml”两个文件,两个文件都是用于Eclipse IDE中支持WTP或Faces的。
文件:org.eclipse.wst.common.project.facet.core.xml<faceted-project>
<fixed facet="jst.java"/>
<fixed facet="jst.web"/>
<installed facet="jst.web" version="2.4"/>
<installed facet="jst.java" version="1.4"/>
</faceted-project>
注意:将其中的版本1.4改为1.6(与本机JDK版本一致)。
Eclipse中导入项目
3、将已有的项目转变为maven项目
创建如下新的Maven目录结构:
· 将所有已经存在的java源文件移到“\src\main\java”
· 将“web.xml”文件移到“\src\main\webapp\WEB-INF”
· 创建一个新的文件,命名为“pom.xml”,放到项目的根目录下
项目目录结构\--projectname
\--src
\--main
\--java (all java source here)
\--test
\--- (all unit test here)
\--webapp
\--WEB-INF
\--web.xml
在“pom.xml”文件中填写已经存在的项目详细信息,添加远程资源库、war插件和编译插件。
填写项目详细信息<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.test</groupId>
<artifactId>webdemo</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
<name>serlvetdemo</name>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>java.net</id>
<url>http://download.java.net/maven/2</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>${basedir}/src/main/java</directory>
<targetPath>WEB-INF/classes</targetPath>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.css</include>
<include>**/*.html</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
编译项目 C:\Users\lxh\workspace>\webdemo>mvn compile
接着,将基于Maven的项目转换为支持Eclipse IDE。
mvn eclipse:eclipse –Dwtpversion=2.0
然后,我们可以将该项目导入到Eclipse IDE了。
使用“mvn war:war”生成项目的WAR文件,新生成的WAR文件将位于“/rootproject/target”目录下,名为“servletdemo-1.0.war”,Maven将会自动地把所有的依赖库、类和部署结构打包在一起。
4.构建项目
要构建基于Maven的项目,打开控制台,使用cd命令进入到项目目录下(pom.xml文件所在目录),使用如下的命令: mvn package。
这将执行Maven的“package”(打包)阶段。
Maven构建生命周期:Maven的运行是分阶段逐步进行的,因此,当“package”阶段被执行时,它之前的所有阶段-“validate”、“compile”、“test”,包括当前的阶段“package”,都将被顺序地执行。
Pom.xml文件中
<packaging>jar</packaging>
jar 生成jar文件 ,war 生成war包
5.maven 的war部署到Tomcat服务器中
使用管理员访问权限为Tomcat添加一个用户。要添加Tomcat用户,编辑这个文件Tomcat安装目录/conf/tomcat-users.xml”。
文件:tomcat-users.xml<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="password" roles="admin,manager"/>
</tomcat-users>
在Maven站点中,我们需要在“MAVEN安装目录/conf/settings.xml”中添加相同的用户验证信息。
<server>
<id>TomcatServer</id>
<username>admin</username>
<password>password</password>
</server>
pom.xml文件 添加tomcat 的plugin配置文件
<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.test</groupId>
<artifactId>webtest</artifactId>
<packaging>war</packaging>
<version>1.0</version>
<name> xuejavaweb-core Maven Webapp</name>
<url>http://maven.apache.org</url>
<build>
<plugins>
<!-- Maven Tomcat Plugin -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
<url>http://127.0.0.1:8080/manager</url>
<server>TomcatServer</server>
<path>/webtest</path>
</configuration>
</plugin>
<!-- Maven compiler plugin -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
命令窗口中切换到 C:\Users\lxh\workspace>webtest
使用“mvn tomcat:deploy”命令来将项目打包成一个WAR文件,并将其部署到Tomcat服务器
URL:http://127.0.0.1:8080/manager/验证是否部署成功。