Maven实战
文章平均质量分 75
qian_348840260
这个作者很懒,什么都没留下…
展开
-
根治JAR包冲突
JAR包冲突不可避免 maven依赖管理的方式决定了jar包冲突不可避免,举个例子:在项目中引入了zookeeper jar 包依赖,但zookeeper 内部还会依赖于其他的 jar 包,从而形成一种链式的传递依赖,即A->B->C->D1。在一个项目中,这种链式的传递依赖线路是多条的,最终表现为tree,假设另一条链路为E->F->D2,这里的D1和D2分别为D的不同版本,就产生了JAR包冲突。 maven 解析 pom.xml 文件时,同一...原创 2021-01-23 18:16:23 · 467 阅读 · 0 评论 -
dependencies与dependencyManagement的区别
dependencies与dependencyManagement的区别1、DepencyManagement应用场景当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。由于我们的模块很多,所以我们又抽象了一层,抽出一个itoo-base-parent来管理子项目的公共的依赖。为了项目的正确运行,必须让所有的子项目使用依赖项的统一版本...转载 2021-01-23 17:24:45 · 156 阅读 · 0 评论 -
Maven 依赖管理
Maven 依赖管理管理包依赖是 Maven 核心功能之一,下面通过如何引入 jar 包;如何解析 jar 包依赖;包冲突是如何产生;如何解决包冲突;依赖管理解决什么问题;什么是依赖范围;使用包依赖的最佳实践等 6 个问题来介绍。如何引入 jar 包在代码开发时,如果需要使用第三方 jar 包提供的类库,那么需要在 pom.xml 加入该 jar 包依赖。例如:使用 zookeeper client<dependencies> <!-- https://mvnrep翻译 2021-01-23 17:18:25 · 103 阅读 · 0 评论 -
maven子项目单独install
ai 父项目下包含 bigdata, carpool, queue-passenger, order-hall四个子项目,互相独立,但某天运维平台突然发生了一件奇怪的事儿,queue-passenger和order-hall无法正常编译,错误原因如下:6:37:25,971[ERROR]Failedtoexecutegoalorg.apache.maven.plugins:maven-install-plugin:2.5.2:install(default-install)onproj...原创 2021-01-07 19:33:16 · 883 阅读 · 1 评论 -
maven eclipse3.3 subversion整合
maven eclipse3.3 subversion整合1.插件m2eclipse的安装Help-->Softward updates-->Find and Install-->Search for new features to install-->New Remote SiteName:m2eclipseURL:http://m2eclipse.sonatype.org/si原创 2012-04-01 10:11:06 · 1352 阅读 · 2 评论 -
使用maven profile实现多环境可移植构建
在开发过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,是个很麻烦的事情。有没有一种方法能够让我们不用修改配置就能发布到不同的环境中呢?当然有,这就是接下来要做的事。当然,这里的转载 2015-12-21 17:07:01 · 361 阅读 · 0 评论 -
mvn deploy命令上传包
mvn:deploy在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。 以将ojdbc14传到nexus中的thirdparty为例 一 配置settings.xml 因为nexus是需要登陆操作,当然可以通过配置免登陆,这是后话。在settings.xml的 thir转载 2017-02-07 11:31:49 · 563 阅读 · 0 评论 -
Maven之私服Nexus的安装和配置
1. Nexus的安装http://blog.sina.com.cn/s/blog_3f12afd00101f88z.html2.用Nexus搭建maven私服http://www.blogjava.net/xiaomage234/archive/2012/11/22/391770.html3.Maven2部署构件到Nexus时出现的Failed to tr转载 2013-06-14 14:16:17 · 654 阅读 · 0 评论 -
maven的版本控制
1.项目版本主版本。次版本。增量版本-限定版本号..-例如,版本“1.3-beta-01”有一个主版本1,次版本3,和一个限定版本“beta-01”。2.版本构建号我们还需要对版本号的限定版本进行排序。以版本号“1.2.3-alpha-2”和“1.2.3-alpha-10”为例,这里“alpha-2”对应了第二次alpha构建,而“alpha-10”对应了第十次alpha转载 2020-05-15 15:31:06 · 3764 阅读 · 0 评论 -
Maven使用入门(二)
1.新建项目文件夹hello-world,在hello-world目录下新建pom.xml文件 http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"原创 2012-03-27 16:49:47 · 2065 阅读 · 0 评论 -
POM优化(五)
优化POM的步骤1.依赖上移多个子module中共用同一个dependency,可抽取到父POM中。例:一些依赖如spring和hibernate-annotations在多个模块中被声明。每个hibernate依赖都重复排除了javax.transaction。在这些依赖配置被上移之后,我们需要为每个POM移除这些依赖的版本,否则它们会覆盖定义在父项目中的dependencyManag原创 2020-05-15 15:34:32 · 1244 阅读 · 0 评论 -
Maven初识-设置HTTP代理及最佳实践(一)
T1. maven: 知识的积累,专家,内行,主要服务于基于java平台的项目构建、依赖管理和项目信息管理。Maven抽象了一个完整的构建生命周期模型,这个模型吸取了大量其他的构建脚本和构建工具的优点,总结了大量项目的实际需求。如果遵循这个模型,可以直接使用大量成熟的Maven插件来完成我们的任务.2. maven的安装 下载解压缩后,设置环境变量M2_HO原创 2012-03-27 16:17:50 · 31479 阅读 · 0 评论 -
超级POM
存储位置:%M2_HOME%\lib\maven-2.0.9-uber.jar\org\apache\maven\project\pom-4.0.0.xml内容: 4.0.0 Maven Default Project central Maven Repository Switchboard default原创 2012-03-30 13:50:43 · 762 阅读 · 0 评论 -
maven中使用的属性
隐式变量env project ${project.artifactId}settings ${settings.offline} Java系统属性所有可以通过java.lang.System中getProperties()方法访问的属性都被暴露成POM属性。 自定义属性 bar原创 2012-03-30 14:32:42 · 594 阅读 · 0 评论 -
maven中的 dependencies 和 dependencyManagement 的区别(六)
今天我在配置 sellercenter 的接口测试环境的时候,发现一些依赖的写法不太一致:比如有的依赖的是写在子项目中的 下的 标签中,而有的依赖的是写在父项目中的 中 。我知道前一种写法是对的,而后一种写法却不知道对不对了,从网上查了下,没有找到非常确切的答案,于是自己验证了一把。把验证过程给大家说下,大家也可以自己练手。首先新建三个项目,Parent作为父项目、proje转载 2012-03-30 13:30:27 · 3976 阅读 · 0 评论 -
Maven单元测试(四)
单元测试test 目标执行项目中所有能在 src/test/java 找到的并且文件名与 **/Test*.java, **/*Test.java 和 **/*TestCase.java 匹配的所有单元测试。忽略单元测试通常,你会开发一个带有很多失败单元测试的系统。 如果你正在实践测试驱动开发(TDD),你可能会使用测试失败来衡量你离项目完成有多远。 如果你有失败的单元测试,但你仍然希原创 2012-03-29 18:20:11 · 2841 阅读 · 0 评论 -
Profile
1.profile可以干什么一个Profile可以覆盖项目构件的最终名称,项目依赖,插件配置以影响构建行为。Profile还可以覆盖分发配置;例如,如果你通过一个staging profile发布一个构件到staging服务器上,你就可以创建一个profile然后在里面定义distributionManagement元素。总之,profile可以覆盖POM中定义的的任何东西,因些profi原创 2012-04-02 20:04:19 · 956 阅读 · 0 评论 -
Process Resources
1.过滤资源(使用属性文件) src/main/filters/default.properties src/main/resources true 2.配置额外的资源目录 ... src/main/resources src/main/xml原创 2012-04-02 19:26:05 · 1564 阅读 · 0 评论 -
Maven执行Main方法(不依赖于classpath)及依赖查看(三)
Maven运行Main方法 在Maven使用入门(二)提供了生成含有MainClass类信息的Jar包的方法,用户也可以在项目目录下直接运行main方法(JAR包中不包含MainClass信息) 。 Maven Exec插件,Exec插件允许你运行Java类和其它脚本。它不是Maven核心插件,但它可以从Codehaus的Mojo项目得原创 2012-03-29 17:49:54 · 4735 阅读 · 0 评论