春风博客

春天里,百花香...

导航

<2007年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

统计

公告

MAIL: junglesong@gmail.com
MSN: junglesong_5@hotmail.com

Locations of visitors to this page

常用链接

留言簿(11)

随笔分类(224)

随笔档案(126)

个人软件下载

我的其它博客

我的邻居们

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

我的Maven2之旅:三.Maven的一小步,个人的一大步

上一篇已经讲到了Maven的基本命令,今天我们就来小试牛刀一把.

此前,我们可以用Eclispe创建一个小的Java工程,本人创建了一个能输出"Hello!Maven!"的工程,它只有一个类,一个函数,不用猜你也能想到里面写的什么.

指的一提的是它的目录结构,下面是这个工程目录结构的截图:

为什么要在src底下放两层目录呢,一会将见分晓.

接下来,我们使用Maven创建一个HelloMaven的Maven项目,打开cmd窗口,转入你的Maven工程目录(本人机器上是C:\tmp),然后输入如下的命令:
mvn archetype:create -DgroupId=com.sitinspring -DartifactId=HelloMaven
其中,com.sitinspring告知了Maven工程的代码根目录,而HelloMaven是工程名.这段命令指示Maven创建一个HelloMaven的工程,它的代码根目录是com.sitinspring.命令运行后将生成一个名为HelloMaven的目录,其中有主目录,测试目录和工程文件pom.xml.

接到你的命令,Maven开始工作了,它输出了一大段文字,见下图:



你将得到一个名叫HelloMaven的目录,如下图:


在HelloMaven目录下,还将生成一个pom.xml的文件,它就是Maven生成的工程文件.暂时你不需要关心其具体内容.
因为接下来还有任务:把Eclispe工程中的Inlet.java文件放入C:\tmp\HelloMaven\src\main\java\com\sitinspring中.

然后打开cmd窗口,进入C:\tmp\HelloMaven目录.执行命令:
mvn package
你将看到Maven再次输出一堆信息.如下图:


其后C:\tmp\HelloMaven的目录结构如下图:


在target目录下,有classes目录.这是生成的class文件;根目录下还生成了我们的目标文件HelloMaven-1.0-SNAPSHOT.jar,它就是打包后的jar.

测试一下,我们打开cmd窗口,进入目录 C:\tmp\HelloMaven\target,然后执行命令:
java -cp HelloMaven-1.0-SNAPSHOT.jar com.sitinspring.Inlet,你将看到Hello!Maven!被输出出来.如下图.


现在为止,我们未曾写一句代码就得到了项目的jar文件,你可以拿自己以前的工程来试试mvn package的功能了.
如果是Swing程序的话效果更好.下图是Swing程序包执行的效果.


本文例子下载一:http://www.blogjava.net/Files/sitinspring/MavenPakcageExample01.zip
本文例子下载二:http://www.blogjava.net/Files/sitinspring/MavenPakcageExample02.zip
(这个例子就是上图输出的Swing程序,但Src路径要深一些,所以DgroupId也不同,具体写法请大家揣摩)

附录:
Maven工程的目录结构:
Maven project root    
    pom.xml Maven2 project file Maven2项目文件
    src/    
        main/ project main directory 项目主体目录
                java source code directory 原码目录
                resources the directory of resource for source code 原码所需资源
                filters the directory of filtering resource files 原码所需资源文件过滤
                assembly Assembly descriptors  
                config the directory of configuration file  配置文件目录
        test    
                java test source code directory 测试原码目录
                resources the directory of resource for the test source code 测试原码所需资源
                filters the directory of filtering test resource files 测试原码所需资源文件过滤
        site the directory of site resource 与site相关的资源目录
    target the directory for output 输出目录
        classes the directory for output classes class 目录
        test-classes the directory for output test classes  test class 目录
        site the directory for output site and reports site 输出目录


posted on 2007-06-19 21:17 sitinspring 阅读(4364) 评论(5)  编辑  收藏 所属分类: Maven2之旅

评论

# re: 我的Maven之旅:三.Maven的一小步,个人的一大步 2007-06-19 23:51 search-computer

good  回复  更多评论   

# re: 我的Maven2之旅:三.Maven的一小步,个人的一大步 2007-07-02 09:47 请教

我运行时出现了这种情况是什么原因?
the plugin 'org.apache.maven.plugins:maven-jar-plugin' does not exist or no valid version could be found
谢谢!
  回复  更多评论   

# re: 我的Maven2之旅:三.Maven的一小步,个人的一大步 2007-07-02 22:35 sitinspring

@请教

当网络连接良好时多试几次.  回复  更多评论   

# re: 我的Maven2之旅:三.Maven的一小步,个人的一大步 2009-06-10 15:49 游客

请教一下第二个swing的例子,
我用命令:mvn archetype:create -DgroupId=com\citigroup\junglesong -DartifactId=SrcComparer,之后该怎么做呢?我是把mvc和util那两个包拷到com\citigroup\junglesong路径下,但mvn package时出错!  回复  更多评论   

# re: 我的Maven2之旅:三.Maven的一小步,个人的一大步[未登录] 2011-09-13 16:40 TonyWang

我的测试过程一切正常
“请教一下第二个swing的例子,
我用命令:mvn archetype:create -DgroupId=com\citigroup\junglesong -DartifactId=SrcComparer,之后该怎么做呢?我是把mvc和util那两个包拷到com\citigroup\junglesong路径下,但mvn package时出错!”

我的是这样
>mvn archetype:create -DgroupId=com.citigroup.junglesong -artifactId=SrcComparer
>cd SrcComparer
>mvn package
一切正常,下面是执行的过程
>cd target
>java -cp SrcComparer-1.0-SNAPSHOT.jar com.citigroup.junglesong.Inlet  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
sitinspring(http://www.blogjava.net)原创,转载请注明出处.