在控制台打印HelloWorld
- 验证一下maven的安装情况
mvn –version
如果结果和下图类似,maven安装配置成功
- 在控制台选择创建项目的模板
1.在G:\Maven下新建myapp文件夹
2.mvn archetype:generate
选择创建项目模板的插件:这里直接点击回车,选中默认值;
选择创建项目模板插件的版本:这里直接点击回车,选中默认值。
3.下面输入项目的有关信息
goupId:就是开发该项目的一群人的信息,
这里输入:com.koushi.javabrains
artifactId(artifact:有艺术品的意思):,这里指的是项目唯一标识
这里输入: MavenTestApp
version:
这里使用默认值:1.0-SNAPSHOT,直接回车;
package:
这里使用默认值,直接回车。
输入完成后结果如下:
- 项目的编译执行
1.编译项目,在控制台将当前路径进入MavenTestApp项目的根路径执行:
mvn compile
2.打包项目,mvn package
3.执行测试项目,java -cp target/MavenTestApp-1.0-SNAPSHOT.jar com.koushi.javabrains.App
引用外部类库的项目
在代码中引用org.slf4j.*;的内容,下面实例是在上面创建的项目的基础上进行的,为了节省篇幅,这里就不再重复。
- 在代码中引入外部类库
将G:\Maven\myapp\MavenTestApp\src\main\java\com\koushi\javabrains\App.java代码修改为以下内容:
package com.koushi.javabrains;
import org.slf4j.*;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
// System.out.println( "Hello World!" );
Logger logger=LoggerFactory.getLogger(App.class);
Logger logger=LoggerFactory.getLogger(App.class);
logger.info("Hello Maven,in Logger!");
}
}
- 编译
mvn clean
mvn compile
出错了! - 在pom.xml添加依赖关系
修改pom.xml,添加org.slf4j.*;依赖关系(在dependencies内)如下:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.20</version>
<!--this is default scope-->
<scope>compile</scope>
再次编译
mvn clean
mvn compile
这里讲述一下如何查找dependency:
在浏览器中输入“mvn respository dendpency”,进入http://mvnrepository.com/,选中任意一个进入子页面,再选中任意一个版本,就可以看到依赖关系了。
- 执行看一下效果:
mvn package
java -cp target/MavenTestApp-1.0-SNAPSHOT.jar com.koushi.javabrains.App
出错了,由于这里我们使用了外部jar,需要将外部jar通过java -classpath命令放入到我们的执行路径里面。在这里下载slf4j-api-1.7.20.jar到target/classes下
执行以下命令:
cd target/classes
java -classpath .;slf4j-api-1.7.20.jar com.koushi.javabrains.App
怎么又错了,在网上搜索了一下:
http://stackoverflow.com/questions/7421612/slf4j-failed-to-load-class-org-slf4j-impl-staticloggerbinder
http://www.slf4j.org/codes.html#StaticLoggerBinder,需要需要添加一个slf4j-simple-1.7.20.jar
下载slf4j-simple-1.7.20.jar;slf4j-api-1.7.20.jar到target/classes目录,然后执行:
java -cp .;slf4j-simple-1.7.20.jar;slf4j-api-1.7.20.jar com.koushi.javabrains.App
ok!
创建Web项目
- 在控制台创建Web Project
1.在G:\Maven下新建mywebapp文件夹
2.mvn archetype:generate
插件类型选择1010(webapp-j2ee14)
插件版本选择默认值
3.输入项目的有关信息
goupId:com.koushi.javabrains
artificateId: MavenWebTestApp
version:使用默认值:1.0-SNAPSHOT,直接回车
package: 这里使用默认值,直接回车
输入完成后结果如下:
- 编译打包
cd MavenWebTestApp
mvn compile
mvn package
- 在Tomcat上部署进行测试
运行Tomcat,点击“Manager App”,这里要求输入账号密码,如果没有做过任何修改请到 conf/tomcat-users.xml 进行配置。
在其中追加以下内容
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
然后重启tomcat,再次登录。
然后“Select WAR file to upload”
完成部署后,在浏览器窗口中输入:
http://localhost:8080/MavenWebTestApp-1.0-SNAPSHOT/
ok!
编译插件
- 在上面web项目的基础上添加java代码
- 新建G:\Maven\mywebapp\MavenWebTestApp\src\main\java\com\koushi\javabrains\MyClass.java,输入以下内容:
package com.koushi.javabrains;
import java.util.*;
public class MyClass{
public static void main(String[] args){
List<String> stringList=new ArrayList<String>();
}
}
- 编译
mvn compile
查看pom.xml片段
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.4</source>
<target>1.4</target>
</configuration>
</plugin>
</plugins>
将这里的1.4修改为1.5再次编译
mvn compile
这次成功了,这个就应该是指定Maven项目编译的jdk的版本的了。
把编译信息删除掉,同样可以成功。也就是将上面的代码片段修改为:
<build>
<plugins>
<plugin>
</plugin>
</plugins>
同样可以编译通过。
Jetty plugin
jetty——将修改内容实时更新到服务器上的插件
注意:这里需要停掉tomcat
- 在项目中添加jetty插件
在pom.xml的build plugins中添加插件jetty plugin
内容如下:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.18</version>
<configuration>
<scanIntervalSeconds>5</scanIntervalSeconds>
</configuration>
</plugin>
- 执行测试
mvn package
mvn jetty:run
通过浏览器访问:http://localhost:8080
怎么出错了,修改一下访问地址,http://localhost:8080/MavenWebTestApp
或者直接点击网页中的超链接:
然后修改G:\Maven\mywebapp\MavenWebTestApp\src\main\webapp\index.jsp的显示内容
刷新浏览器:
ok!
Eclipse plugin for Maven and Maven plugin for Eclipse
这里两个内容:1.如何将Maven项目导入Eclipse;2.在Eclipse如何执行Maven命令。
这里我们需要使用前面的MavenTestWebApp项目,将控制台当前路径定位到G:\Maven\mywebapp\MavenWebTestApp
- 将Maven项目转化为Eclipse平台支持的项目
mvn eclipse:eclipse
查看G:\Maven\mywebapp\MavenWebTestApp文件夹:
将项目导入Eclipse
import->Existing Projects into Workspace,点击完成
怎么出错了,调出来Marker Perspective看一下错误信息:
Maven项目配置的一个用于编译的”classpath”,Eclipse找不到了,给Eclipse配置一下吧- 配置一下Maven中的M2_REPO环境变量
Windows->Preference->Java->Build Path->Classpath Variable 点击“New”创建一个环境变量:
M2_REPO
C:/Users/Chuanhang.Gu/.m2/repository
点击”ok”.然后Eclipse提示要进行一次重新编译,点击确定即可。 然后再看一下MavenWebTestApp
点击修改为1.5就ok了。
-在Eclipse中安装Maven插件 Helper->Install New software…
选择All available sites ,加载完成中,在过滤条件中输入Maven,筛选完成后,选择Maven插件。这里我选择的是:
安装完成后,同意Eclipse重启即可。
在项目的pom.xml文件上右键单击,光标定位到run as… 就发现我们可以执行Maven命令了。简单的测试
pom.xml->Run as..->Maven Build 在弹出的对话框Goal中输入“jetty:run”.点击ok
稍后,在浏览器访问
ok!
翻译原地址
https://www.youtube.com/watch?v=al7bRZzz4oU&index=1&list=PL92E89440B7BFD0F6