如何打包jar并发布到本地资源库上?
执行如下命令可以直接创建一个jar
mvn package
看一下pom文件你可以注意到packaging元素的值已经设置成jar,这也就是为什么maven执行上述命令可以创建jar文件(关于这个后面还会说更多)。现在到${basedir}/target 这个目录下你可以看到刚才生成的jar文件。
如果你打算安装此生成文件到本地资源库(默认本地路径为~/.m2/repository ,更多关于资源库相关请参考资源库介绍)中那么执行如下命令:
mvn install
执行上述命令如下信息将被输出:
[INFO] ---------------------------------------------------------------------------- [INFO] Building Maven Quick Start Archetype [INFO] task-segment: [install] [INFO] ---------------------------------------------------------------------------- [INFO] [resources:resources] [INFO] [compiler:compile] Compiling 1 source file to <dir>/my-app/target/classes [INFO] [resources:testResources] [INFO] [compiler:testCompile] Compiling 1 source file to <dir>/my-app/target/test-classes [INFO] [surefire:test] [INFO] Setting reports dir: <dir>/my-app/target/surefire-reports ------------------------------------------------------- T E S T S ------------------------------------------------------- [surefire] Running com.mycompany.app.AppTest [surefire] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.001 sec Results : [surefire] Tests run: 1, Failures: 0, Errors: 0 [INFO] [jar:jar] [INFO] Building jar: <dir>/my-app/target/my-app-1.0-SNAPSHOT.jar [INFO] [install:install] [INFO] Installing <dir>/my-app/target/my-app-1.0-SNAPSHOT.jar to \ <local-repository>/com/mycompany/app/my-app/1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.jar [INFO] ---------------------------------------------------------------------------- [INFO] BUILD SUCCESSFUL [INFO] ---------------------------------------------------------------------------- [INFO] Total time: 5 seconds [INFO] Finished at: Tue Oct 04 13:20:32 GMT-05:00 2005 [INFO] Final Memory: 3M/8M [INFO] ----------------------------------------------------------------------------
注意上面的单元测试插件查找单元测试文件是基于命名的,默认测试文件包括如下:
**/*Test.java **/Test*.java **/*TestCase.java
默认不包括:
**/Abstract*Test.java **/Abstract*TestCase.java
你现在已经经历过maven的安装、构建、测试、打包和创建maven工程。这也是大多数项目用maven要做的并且你也注意到了所有的这些都是基于18行pom文件的。你也注意到了如果是ant的话那么他的构建文件差不多是pom文件的两倍才能完成同样的工作。其实maven还有更多的功能但是不需要在pom文件中做任何修改。如果在ant中的话,增加功能就需要修改ant的构建文件。
那么还有什么我们可以免费得到的?这里还有大量的跟上面pom文件一样简单的插件。这里我们提一个maven的很有价值的特性:pom文件不需要做任何修改就可以为你的项目生成一个站点。也许你需要自定义你的站点,不过如果时间不允许的话你也可以执行如下命令生成一个基本的站点:
mvn site
这里还有很多可以单独执行的功能,比如:
mvn clean
这个操作将会清空构建所创建的多有的数据文件,也就是target目录下,这个是个刷新操作。
有可能你需要生成IntelliJ IDEA项目,那么执行如下命令:
mvn idea:idea
如果打算用eclipse那么可以执行如下操作:
mvn eclipse:eclipse
注意:一些maven1.0的还是可用的,比如:jar:jar。不过没啥大用,目前jar:jar不会重新编译源文件,仅仅会简单的基于 target/classes打包成jar文件,这个已经完全有了。
如何使用plugin?
如果打算定制自己的maven工程的话,那么就需要添加或者配置maven插件了。
maven1.0用户注意:稍有些不同,你需要在maven.xml中添加<preGoal>在project.properties中增加实体配置。
如果你打算基于jdk1.5编译,那么你需要在你的pom文件中增加:
... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </build> ...
在maven2.0中你可以看出这些插件更像是dependency,有时候他们还真是dependency。这些插件会自动下载,如果指定了版本那么他们会按照指定的版本下载(默认是最新版本)。
configuration 元素指定了编译插件所需要的参数。上述例子编译插件作为构建生命周期的一部分,并且可以配置。也可以增加其他的功能配置其他的功能。更多的信息请参见构建生命周期介绍 。
可以在Plugins List 中查找更多的可用插件。可以基于导航查看他的功能。如何配置插件参数请参考插件配置指南。
相关推荐
最新的maven2.0.9下载,附带使用入门参考指南。
这是一篇关于Maven的入门指南,有详细的操作步骤,适合初学者
maven + springmvc 入门实例,安装好maven之后导入myeclipse即可运行。maven安装方法请自行百度
maven的Javaweb入门实例,可用idea打开,也可用eclipse打开
maven项目构建入门书籍,java maven入门经典书籍
Maven+SpringMVC的入门级HelloWorld实例,简单了解Maven和SpringMVC整合
Maven3入门
maven入门到精通 用 Maven 做项目管理 在 Java世界中我们很多的开发人员选择用 Ant来构建项目,一个 build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如 jar文件管理混乱,各个...
Maven权威指南中文版.pdf格式,是一本细心编排的入门指南和参考手册。
maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装...
Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven...
Maven2教程,项目构建使用,一起学习
maven教案,maven学习资料,maven入门
maven 用法 指南 java 基础 配置 安装 入门 eclipse jar ear war 打包 rad
Maven入门案例,Maven安装,Maven配置,Maven案例,Maven常见命令
Maven是一种构建工具,一种项目管理工具,一种用来运行构建任务的抽象容器。对于那些成熟的,希望用一致的方式来管理和构建大量相互依赖的模块和类库,并且使用了 数千第三方组件的项目来说,Maven已经证明了它是一...
1.1 何为 Maven 4. 1.2 为什么需要 Maven 5. 1.3 Maven 与极限编程 6. 第 2 章 Maven 的安装和配置 7. 2.1 在 Windows 上安装 Maven 8. 2.2 在基于 Unix 的系统上安装 Maven 9. 2.3 安装目录分析 10. 2.4 设置 ...
Maven权威指南中文版(完整).pdf