使用Maven下载源码

maven查看项目的结构

mvn dependency:tree | findstr ??

配置maven下载源码

参考:http://blog.csdn.net/mlin_123/article/details/50754433

— rabbitmq

http://www.cnblogs.com/leocook/p/mq_rabbitmq_5.html

修改maven的配置文件settting.xml 添加profiles和activeProfiles

<profiles>

 <profile>

   <id>downloadSource</id>

   <properties>

        <downloadSources>true</downloadSources>

       <downloadJavadocs>true</downloadJavadocs>

  </properties>

</profile>

</profiles>

<activeProfiles>

<activeProfile>downloadSource</activeProfile>

</activeProfiles>

注意profiles或activeProfiles节点可能已经声明了

然后在idea中设置maven importing的时候需要下载源码或doc

File>setting>Build,Execution,Deployment>Build Tools>Maven>Importing

勾选Automatically download后的source或documention 意思是在maven项目importing的时候下载源码或doc文档(一般我就勾选Sources下载相关源码) 

一切准备就绪,友情提示,手动reimport maven是不能下载的,需要在项目的本地目录下(和pom一个目录)执行mvn dependency:sources 或mvn dependency:resolve -Dclassifier=javadoc

第一个命令是下载源码,第二个命令是下载文档。

执行完后,如果不出意外,查看你的project structure>libraries 点击你的maven依赖的jar包就可以在右边看到Sources下有个本地的链接执行相关源码,你的maven仓库下也会下载对应的资源。

setting中最好配置镜像仓库的地址,以提高下载速度或自己搭建Nexus私服

——profiles

profiles从字面上的理解是个性化配置。主要包含actication,repositories,pluginRepositories,properties元素

定义profile后需要激活才能使用。

http://maven.apache.org/guides/introduction/introduction-to-profiles.html

public static voidmain(String args[]){

//chacneId,labelId

Long chanceId=null;

Long labelId=null;

List list =newArrayList<>();//findListByChanceId

if(list ==null|| list.size() ==0){//这里可以不要

Label curL =null;//get label from db

LabelChance labelChance =newLabelChance();

labelChance.setChanceId(chanceId);

labelChance.setLabelId(labelId);

//set createDate,updateDate

labelChance.setCoreTag(curL.getUpgradeConfig()==0?0l:1l);

//service.save(labelChance);

return;

}

//否则数据库里有记录了

LabelChance curLC=null;

LabelChance coreLC =null;

for(LabelChance lc : list){

if(lc.getLabelId() == labelId) {

curLC = lc;

}

if(lc.getCoreTag() ==1) {

coreLC = lc;

}

}

List lcs =null;//该集合存放需要修改维护的对象

//本次label不在数据库中,需要新增

if(curLC ==null) {

Label curL =null;//get from db

LabelChance labelChance =newLabelChance();

labelChance.setChanceId(chanceId);

labelChance.setLabelId(labelId);

labelChance.setCreateDate(newDate());

labelChance.setLabel(curL);//…

lcs =fileList(labelChance,coreLC);

}else{//包含本次

lcs =fileList(curLC,coreLC);

}

//service.updateBatch(lcs);

}

//当前labelId等于core.labelId?

public staticListfileList(LabelChance curLC,LabelChance coreLC){

Date now =newDate();

curLC.setUpdateDate(now);

List list =newArrayList<>();

if(curLC.getLabel().getUpgradeConfig() ==0) {//不参与主标签竞选

curLC.setCoreTag(0l);

list.add(curLC);

}else if(coreLC ==null){//要参与主标签,且coreLC为空

curLC.setCoreTag(1l);

list.add(curLC);

}else if(curLC.getLabel().getWeight()>coreLC.getLabel().getWeight()

|| (newDate().getTime()-coreLC.getUpdateDate().getTime())/(1000*60*60*24) >= coreLC.getLabel().getValideDate()){

//参与主标签分配 且coreLC不为空

//1 curL.weight>=coreLC当前为主

//2 curL.weight <= coreLC.weight看有效期 如果原主标签过期 当前为主

curLC.setCoreTag(1l);

list.add(curLC);

if(curLC.getLabelId() != coreLC.getLabelId()) {

coreLC.setCoreTag(0l);//取消旧的机会主标签。updateDate不变

list.add(coreLC);

}

}else{

//所有情况都不满足(curLC要参与主标且权重小了或 主标签没过期)

curLC.setCoreTag(0l);

list.add(curLC);

}

returnlist;

}

    原文作者:阿太哥
    原文地址: https://www.jianshu.com/p/c5ce0a4ea223
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞