Maven项目版本号

默认版本号: 1.0-SNAPSHOT 最佳实践是约定该版本为不稳定版本,如果发布一定要删除;

建议的版本规则: 主版本号.次版本号.增量版本号- 如:1.0.0-RELEASE 10.2.5-FINAL 等. 最佳实践是结合自身情况制定大家都认可的版本号规则.

常见命令

内置的maven插件提供了常见的命令, 可以在以下位置找到对应的包: .m2epositoryorgapachemavenplugins

compile

clean 删除/target,将已编译的二进制文件等删除

test test case junit/testNG

package 打包

install 把项目install到本地仓库

deploy 发布jar到remote服务器

mvn help:system 查看环境变量

插件

插件仓库

https://maven.apache.org/plugins/

http://www.mojohaus.org/plugins.html

常见插件

findbugs 静态代码检查

versions 统一升级版本号 统一升级版本 http://www.mojohaus.org/versions-maven-plugin/ 可以查看使用示例, 常用的设置版本的命令为mvn versions: set –DnewVersion=1.1.0-final

mvn versions:set -DnewVersion=1.1

source 打包源代码,当jar提供给外部的时候斟酌使用

assembly 打包zip、war

tomcat7

org.codehaus.mojo

findbugs-maven-plugin

3.0.0

High

Default

true

target/site

org.codehaus.mojo

versions-maven-plugin

2.3

maven-source-plugin

2.3

attach-sources

install

jar-no-fork

maven-assembly-plugin

3.0.0

com.xlx.Test

jar-with-dependencies

org.apache.tomcat.maven

tomcat7-maven-plugin

2.2

8080

/

自定义插件

创建项目

修改pom的maven-plugin

添加依赖

org.apache.maven

maven-plugin-api

LATEST

org.apache.maven.plugin-tools

maven-plugin-annotations

LATEST

provided

写代码实现AbstractMojo

@Mojo(name="xlxTest",defaultPhase = LifecyclePhase.PACKAGE)

public class Test extends AbstractMojo {

/**

* 接收的参数

*/

@Parameter

private String message;

/**

* 接收多个值的参数

*/

@Parameter

private List options;

/**

* 命令行中接收,注意必须有property mvn:package -Dargs=this is from cmd

*/

@Parameter(property = "args")

private String args;

public void execute() throws MojoExecutionException, MojoFailureException {

System.out.println("my first maven plugin message is : " + message);

System.out.println("my first maven plugin options is : " + options);

System.out.println("my first maven plugin args from evm is : " + args);

}

}

mvn install

使用, maven可以接收参数, 也可以使用环境变量取,如${settings.localRepository},${project.baseUri}等

com.xlx

engineering

1.0-SNAPSHOT

package

xlxTest

message

one

two

Profile

不同运行环境 dev/prod/test等

mvn clean package –P dev

settings.xml 可以指定不同服务器仓储配置私服或者官方

多环境配置的配置文件路径

dev

dev

true

test

test

${baseDir}/src/main/resources

conf/**

src/main/resources/conf/${profile.active}

私服

下载: https://www.sonatype.com/download-oss-sonatype?hsCtaTracking=920dd7b5-7ef3-47fe-9600-10fecad8aa32%7Cf59d5f10-099f-4c66-a622-0254373f4a92

安装, 解压即可, 如果需要修改端口号等信息, 可以修改文件

exus-3.13.0-01etc

exus-default.properties

启动命令 转到

exus-3.13.0-01in下, nexus /run 可查看启动日志

使用: http://books.sonatype.com/nexus-book/reference3/index.html

pom中增加发布节点

nexus-release

nexus-release

http://localhost:8099/repository/maven-releases/

nexus-snapshot

nexus-snapshot

http://localhost:8099/repository/maven-snapshots/

修改settings.xml 增加服务器账号密码信息

nexus-release

admin

admin123

nexus-snapshot

admin

admin123

生成脚手架

mvn archetype: create-from-project 从项目生成脚手架

cd /target/generated-soource/archetype 转到此目录

mvn install 发布到仓库

可以添加到ide的脚手架列表

mvn archetype:generate –DarchetypeCatagory=local 命令行方式创建项目 local参数指定走本地仓库

java工程化_(二)Java工程化--Maven实践(示例代码)相关推荐

  1. 归并排序 java 迭代_经典排序算法之归并排序(示例代码)

    归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的排序算法,效率为 (大O符号).1945年由约翰·冯·诺伊曼首次提出.该算法是采用分治法(Divide an ...

  2. 纯java pdf转换成html,JAVA实现PDF转HTML文档的示例代码

    本文是基于PDF文档转PNG图片,然后进行图片拼接,拼接后的图片转为base64字符串,然后拼接html文档写入html文件实现PDF文档转HTML文档. 引入Maven依赖 org.apache.p ...

  3. Java Singleton类中的线程安全性的示例代码

    Java Singleton类中的线程安全性的示例代码 Singleton是最广泛使用的创建设计模式之一,用于限制应用程序创建对象.在实际应用程序中,数据库连接或企业信息系统(EIS)等资源是有限的, ...

  4. 微信公众平台开发(二) 微信公众平台示例代码分析

    http://www.cnblogs.com/mchina/archive/2013/06/07/3120592.html 微信公众平台开发(二) 微信公众平台示例代码分析 一.摘要 微信公众平台提供 ...

  5. java微妙_编码Java时的10个微妙的最佳实践

    java微妙 这是10条最佳实践的列表,这些最佳实践比您的平均Josh Bloch有效Java规则要微妙得多. 尽管Josh Bloch的列表很容易学习,并且涉及日常情况,但此处的列表包含了涉及API ...

  6. java姑娘_初识java这个小姑娘(二)

    正版疯狂java讲义第5版编程教材 76.5元 (需用券) 去购买 > 妙解垃圾回收机制 周一,早高峰!!! 五个字,说尽心中的绝望!!! 一段考验一个人耐力.智力.开车技术以及脾气的路. 我把 ...

  7. java娘_初识java这个小姑娘(二)

    妙解垃圾回收机制 周一,早高峰!!! 五个字,说尽心中的绝望!!! 一段考验一个人耐力.智力.开车技术以及脾气的路. 我把车开进了一个没有红绿灯的丁字路口,然后就没有然后了. 来自三个方向的大车小车开 ...

  8. 21点小游戏java编程_用Java编写一个二十一点小游戏

    21点又名黑杰克(Blackjack),起源于法国,已流传到世界各地,有着悠久的历史.现在在世界各地的赌场中都可以看到二十一点,随着互联网的发展,二十一点开始走向网络时代.该游戏由2到6个人玩,使用除 ...

  9. 尚学堂java培训_送给 Java 自学者或者初学者的最全知识清单,2020 年 Java 就该这么学...

    最近逛知乎,发现有很多想自学 Java 或者 Java 初学者提问,不知道如何学习 Java?我接触 Java 快 8 年的时间了,一直从事 Java 开发工作,自己一直升级打怪,对于如何更好的学习 ...

最新文章

  1. 聊聊事件驱动的架构模式
  2. java gps 距离计算_java计算两个GPS经纬度之间的距离(转)
  3. java二叉排序树动态查找表_9.3.1动态查找表—二叉排序树
  4. 打造炫酷通用的ViewPager指示器 Adapter模式适配所有 1
  5. FocalLoss的Caffe复现版
  6. SAP UI5 应用开发教程之二十四 - 如何使用 OData 数据模型
  7. CF535C Tavas and Karafs 二分 + 结论
  8. es6 数组去重,数组里面的对象去重
  9. CLR_via_C#.3rd 翻译[25.9 线程调度和优先权]
  10. MATLAB BP神经网络的设计与优化
  11. 【渝粤题库】陕西师范大学201841 比较教育学 作业(专升本)
  12. Vue动态加载组件的两类方式(import和require)
  13. 爬取实习僧工作岗位信息
  14. 抽象类和接口(Java程序设计)
  15. 慢扫描电视 SSTV
  16. PHP高级面试题(三)
  17. 阿里云服务器 远程桌面连接 卡顿
  18. 塔式服务器系统配置,联想TD350塔式服务器系统安装配置注意事项
  19. ipv4与ipv6的联系与区别
  20. [Git] 配置Github Gitee reference加速

热门文章

  1. CVPR2020论文解析:视频分类Video Classification
  2. Linux环境变量说明与配置
  3. Android studio 设置忽略文件
  4. maven项目添加文件夹报错
  5. python 下划线转驼峰
  6. Js时间格式[转载]
  7. 公用表达式 CTE with as 用法总结
  8. Git 高频命令、版本回退、分支操作、文件修改删除、撤销、标签、远程仓库推送、拉取
  9. MySQL 学习笔记(6)— 存储过程创建、调用、删除以及带参数的存储过程
  10. 【转】android错误 aapt.exe已停止工作的解决方法