maven

为什么要使用maven

不使用maven的时候每个模块都需要导入插件,
在同一个项目中不同模块会导入重复的插件,造成资源浪费
使用maven后
,maven使用的是坐标机制,
所有的依赖都会从本地仓库中通过pom文件中定义的坐标获取,
另外,发布项目的时候,通过远程仓库,
可以实现只传递核心代码,而不用传递依赖

maven仓库

maven仓库可以分成本地仓库和远程仓库
本地仓库
通过settings.xml中的localRepository标签指定本地标签的位置
当用户输入第一个命令后骂着呢才会创建本地仓库然后个根据配置和需要,从远程仓库下载侯建到本地仓库
中央仓库
lib/maven-model-builder-3.5.2.jar/../pom-4.0.0.xml
这个pom文件是所有maven项目都会继承的超级pom
  <repositories>
    <repository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

  <pluginRepositories>
    <pluginRepository>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
    </pluginRepository>
  </pluginRepositories>
  该文件使用id central对中央仓库进行唯一标识,所有之后mirrorOf配置中央仓库需要些central
  layout表示采用"."->"/"获取路径的方式获取依赖位置
私服
为了减少带宽,部署第三方构件等

声明远程仓库

模块的pom文件中,可以配置该模块需要访问的远程仓库
当该模块install后,pom文件也会被放在maven仓库中
使用该构件时,该构建所依赖的插件会通过pom文件中的配置去找
<repositories>
 <repository>
     <id>dependencies_Repositories</id>
     <url>http://192.168.33.240:8081/repository/maven-public/</url>
     <releases>
         <enabled>true</enabled>
         <updatePolicy>daily</updatePolicy>
         <checksumPolicy>ignore</checksumPolicy>
     </releases>
     <snapshots>
         <enabled>true</enabled>
     </snapshots>
 </repository>
</repositories>
<pluginRepositories>
 <pluginRepository>
     <id>plugins_Repositories</id>
     <url>http://192.168.33.240:8081/repository/maven-public/</url>
     <releases>
         <enabled>true</enabled>
     </releases>
     <snapshots>
         <enabled>true</enabled>
     </snapshots>
 </pluginRepository>
</pluginRepositories>
updatePolicy配置Maven从远程仓库检查更新的频率默认为daily
checksumPolicy检查校验和文件的策略,当构件被部署到Maven仓库时,
同时会部署对应的校验和文件;
如果校验和验证失败,默认值为warn时,就会输出警告信息
fail,让构建失败;ignore,忽略校验和错误

快照

为什么要使用快照
对于Maven来说,相同的坐标对应一个构件
所以如果你对一个构件进行了更改,但是使用的还是原来的版本号,发布到私服上,别人已经缓存了你原来的构件,是不会重新下载你新发布的构建的
所以,你需要改动版本号
但是如果你频繁的更改版本号,只包含微小的差异,不提倡版本号的滥用

引入快照
发布到私服的过程中,maven会自动为构件打上时间戳,
maven-metadata-local.xml

从仓库中解析依赖的机制

当本地仓库没有依赖构件的时候,maven会自动从远程仓库下载;
当依赖版本为快照时,maven会自动找到最新的快照
1.当依赖范围是system时,Maven直接从本地文件系统解析构件
2.根据依赖坐标计算仓库路径,直接从本地仓库寻找构件,发现构件,则解析成功
3.本地仓库不存在构件,依赖版本是显示的发布版本构件,遍历所有的远程仓库
4.依赖版本是RELEASE或者LASTEST,基于更新策略读取所有远程仓库的元数据maven-metadata.xml,
将其和本地仓库对应的元数据合并,计算RELEASE或者LASTEST的真实值,然后基于这个真实的值检查本地和远程仓库,执行2,3
5.如果依赖是SNAPSHOT,基于更新策略读取所有远程仓库的元数据maven-metadata.xml.将其和本地仓库对应的元数据合并,得到最新的快照版本值,
基于这个值检查本地和远程仓库

镜像

匹配中央仓库
<mirrorOf>central</mirrorOf>
匹配所有的远程仓库
<mirrorOf>*</mirrorOf>	
匹配除localhost外的所有远程仓库
<mirrorOf>exteral:*</mirrorOf>
匹配仓库repo1和repo2
<mirrorOf>repo1,repo2</mirrorOf>
匹配所有远程仓库,repo1除外
<mirrorOf>*,!repo1</mirrorOf>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在风能领域,准确预测风速对于风电场的运行与管理至关重要。Matlab作为一个强大的数学计算和数据分析平台,被广泛应用于风速预测模型的构建。本文将深入探讨基于四种风速——随机风、基本风、阵风和渐变风的组合风速预测技术。 我们来理解这四种风速类型: 1. **随机风**:随机风是指风速呈现出随机性的变化,通常由大气湍流引起。在建模中,通常通过统计方法如高斯分布或Weibull分布来模拟这种不确定性。 2. **基本风**:基本风速是指在无特定扰动条件下的平均风速,它是长期观测结果的平均值,通常用于结构设计和风能评估。 3. **阵风**:阵风是短时间内风速显著增强的现象,对建筑物和风力发电机造成的主要威胁之一。阵风的预测涉及到风的脉动特性分析。 4. **渐变风**:渐变风是指风速随时间和空间逐渐变化的过程,常见于风向转变或地形影响下的风场变化。 在Matlab中,利用这四种风速类型进行组合预测,可以提高预测的准确性。预测模型可能包括以下几个步骤: 1. **数据收集与预处理**:收集历史风速数据,包括随机风、基本风、阵风和渐变风的数据,进行异常值检测、缺失值填充以及数据标准化。 2. **特征工程**:提取风速变化的相关特征,如平均值、标准差、极值、频率分布等,这些特征可能对预测有重要影响。 3. **模型选择**:可以选择多种预测模型,如时间序列分析(ARIMA、状态空间模型等)、机器学习算法(线性回归、决策树、支持向量机、神经网络等)或深度学习模型(LSTM、GRU等)。 4. **模型训练**:利用历史数据训练选定的模型,调整模型参数以优化性能,例如通过交叉验证来避免过拟合。 5. **模型验证与评估**:使用独立的测试集验证模型预测效果,常见的评估指标有均方误差(MSE)、平均绝对误差(MAE)和决定系数(R²)。 6. **组合预测**:结合四种风速的不同模型预测结果,可以采用加权平均、集成学习(如bagging、boosting)等方式,以提升整体预测精度。 7. **实时更新与动态调整**:实际应用中,模型需要不断接收新的风速数据并进行在线更新,以适应风场环境的变化。 通过以上步骤,可以构建一个综合考虑各种风速特性的预测系统,这对于风电场的功率输出预测、风电设备的维护计划以及电网调度都具有重要价值。然而,需要注意的是,每个风场的地理环境、气候条件和设备状况都有所不同,因此模型的建立应根据实际情况进行定制和优
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值