史诗级!有手就会的Maven教程(一)

解决maven管理工具使用package打包的时候无法将lib文件夹下的第三方jar包打入 故事发生于某天我在使用第三方接口的时候通过手动引入了第三方的几个jar包到我本项目的lib文件夹下,然后在另外一个项目中调用本项目中写好的接口,在我本地测试的时候接口是请求的通的,在我将项目打包发给运维部署的时候,线上就开始报错了,报了一个Post请求报错:Server returned HTTP response code: 500 for URL的报错,通过排查,发现是打包的时候没有将第三方jar打入到发给运维的jar包中,后面在pom文件中加上这段配置就可以了。 <plugin> 阅读详情

Maven 是什么

Maven 是一款服务于 Java 平台的自动化构建工具.

构建: 构建就是以 “Java源文件”, “框架配置文件”, “JSP” 等资源为 “原材料”, 去 “生产” 一个可以运行的项目的过程.

构建过程的各个环节:

【1】清理:将以前编译得到的旧的class字节码文件删除,为下一次编译做准备

【2】编译:将Java源程序编程成class字节码文件

【3】测试:自动测试,自动调用junit程序

【4】报告:测试程序执行的结果

【5】打包:动态Web工程打war包,Java工程打jar包

【6】安装:Maven特定的概念, 将打包得到的文件复制到 “仓库” 中的指定位置

【7】部署:将动态Web工程生成的war包复制到Servlet容器的指定目录下,使其可以运行

 

为什么使用 Maven

目前开发中存在的问题:

① 一个项目就是一个工程.

如果项目非常庞大, 就不适合继续使用 package 来划分模块. 最好是每一个模块对象一个工程, 利于分工协作.

② 项目中需要的 jar 包必须手动复制到 lib目录下.

同样的 jar 包, 重复出现在不同的项目工程中, 浪费内存, 也让工程比较臃肿.

③ 下载的 jar 包有可能是不规范的.

④ jar 包与 jar 包之间存在依赖关系. 你必须清楚他们之间的依赖关系, 增加了学习成本.

 

Maven 可以解决的问题

① 借助 Maven 可以把一个项目分割为多个工程.

② 借助 Maven 可以将 jar 包仅仅保存在 “仓库” 中, 有需要的工程 “引用” 这个文件接口, 并不需要真的把 jar 包复制过来.

③ 借助 Maven 可以以一种规范的方式下载 jar 包. 所有知名的框架的 jar 包已经按照统一的规范存放在了 Maven 的中央仓库中.

 

maven中的maven clean、maven package命令的使用 目录 1、对应窗口的打开 2、maven clean 3、maven package 1、对应窗口的打开 一般在界面的最右边就有,如图所示: 如果不小心关掉了,可以采用以下两种方法打开对应的窗口: 方法一:View->ToolWindows->Mavenprojects方法二:Help->FindAction(Ctrl+Shift+A),输入Mavenprojects 2、maven clean 表示删除target目录 若报错... 阅读详情

相关推荐

​基于stm32的智能空气加湿器设计(含源代码和Proteus仿真)

课程设计分享

LoongSTUDIO的博客 2929

MAVEN打包找不到本地LIB目录下的jar包解决办法

两种解决方式适用于不将jar包导入maven配置,只是放到某个包中引用: 第一种: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>${maven.compiler.version}</version> <configuratio

asdfadafd的博客 9314

在运行opencv时出现的两个问题:AttributeError: module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipeline‘

解决了opencv的两个问题:由问题一引出 AttributeError: module 'cv2' has no attribute 'gapi_wip_gst_GStreamerPipeline' cv2.error:OpenCV(4.1.2)C:\projects\opencvpython\opencv\modules\highgui\src\window.cpp:717:error: (-2:Unspecified error) The function is not implemented...

hu_yinghui的博客 3278

maven打包后WEB-INF没有lib目录的解决方法

1》在子项目中的pom.xml文件找到 <scope>test</scope> 注释掉这一行 2》重新打包maven发现生成lib目录 3》分析原因:个人理解是加了<scope>test</scope>后会使当前的项目打包后用自身的<dependcies> <!--各种jar--> </dependcies> jar包,而不是用父项目的jar包,两个方法可以验证一下,我试了一下给父项目pom.xml中

qq_55053682的博客 6413

网络设备心跳线带宽高导致虚拟化平台不稳定的问题处理

本文记录了网络设备心跳线带宽高导致虚拟化平台不稳定的问题处理一例。

forestqq的博客 2229

DeepStream实战:多路视频AI分析从CPU瓶颈到GPU高吞吐

视频流智能分析在智慧交通和边缘计算中愈发关键,但传统CPU拉流解码加GPU推理的链路,常面临CPU占用过高、GPU利用率低下的窘境。DeepStream作为NVIDIA推出的流式推理框架,基于GStreamer插件生态,以NVMM内存管理让视频数据在GPU侧高效流转,配合NVDEC硬件解码、NvStreamMux多路批处理与TensorRT优化,大幅降低CPU负担并提升多路视频并行吞吐。针对1080p甚至更高分辨率的RTSP流,它能将多路帧汇聚为batch批量推理,从而支撑实时车辆识别、道路分析等生产级应用

weixin_29051245的博客 180

Maven项目中web-inf下没有lib怎么解决

1,打开pom.xml文件删除test 2,重新设置Tomcat 将Before lauch中的两个配置删去 新建一个Run Maven Goal 在Command line中输入clean package(注意有空格) 完成后即可重新运行 即可在web-inf下找到lib你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持

qq_55862497的博客 2212

同态加密与SEAL库实战:CKKS参数调优避坑指南

本文深入探讨了同态加密技术中CKKS方案的参数调优实践,重点解析了SEAL库中`poly_modulus_degree`、`coeff_modulus`和`scale`三大核心参数的配置技巧与避坑指南。通过实战案例展示了如何平衡计算深度、精度与性能,为开发者提供了一套完整的参数优化方法论,帮助避免常见的'scale out of bounds'等错误,显著提升同态加密应用的可靠性和效率。

weixin_29315569的博客 230

maven 打包没有生成依赖lib_史诗级!有手就会的Maven教程(一)

Maven 是什么Maven 是一款服务于 Java 平台的自动化构建工具.构建: 构建就是以 “Java源文件”, “框架配置文件”, “JSP” 等资源为 “原材料”, 去 “生产” 一个可以运行的项目的过程.构建过程的各个环节:【1】清理:将以前编译得到的旧的class字节码文件删除,为下一次编译做准备 【2】编译:将Java源程序编程成class字节码文件 【3】测试:自动测试,自动调用j...

weixin_42347739的博客 4170

rk3588 LightSensor适配从驱动到应用层

本文详细介绍了在RK3588平台上实现光感驱动的开发流程。主要包括:1) 在设备树中配置I2C5接口挂载光感设备;2) 编写内核驱动代码实现光感数据采集;3) HAL层通过ioctl与驱动交互;4) 在BoardConfig.mk中启用相关宏定义;5) Framework层通过AutomaticBrightnessController实现自动亮度调节算法;6) 应用层可通过监听系统设置获取光感变化并调整屏幕亮度。整个流程涵盖了从底层驱动到上层应用的完整实现方案,重点解决了光感设备注册、数据采集传输和自动亮度

tzj1058756809的博客 450

YOLO26 标签分配机制:STAL 小目标感知分配策略

YOLO26提出的STAL标签分配策略通过尺度感知机制优化了小目标检测性能。该方法根据目标面积将检测对象分为小、中、大三类,分别采用差异化的分配参数(TopK数量、IoU阈值和中心度权重),特别是对小目标采用更宽松的匹配条件和更高的中心度权重。实验结果表明,STAL策略显著提升了小目标检测精度(AP_small),同时保持了整体检测性能(mAP),为解决目标检测中尺度不平衡问题提供了有效方案。

一键难忘的博客 795

maven package 位置_史诗级!有手就会的Maven教程(一)

Maven 是什么Maven 是一款服务于 Java 平台的自动化构建工具.构建: 构建就是以 “Java源文件”, “框架配置文件”, “JSP” 等资源为 “原材料”, 去 “生产” 一个可以运行的项目的过程.构建过程的各个环节:【1】清理:将以前编译得到的旧的class字节码文件删除,为下一次编译做准备 【2】编译:将Java源程序编程成class字节码文件 【3】测试:自动测试,自动调用j...

weixin_39980711的博客 316

XCP实战系列介绍07-使用ASAP2 Editor生成A2l文件详解

介绍通过ASAP2 Editor工具生成A2l文件步骤详解

initiallizer的博客 7299

史诗级!有手就会的Maven教程(二)

安装 Maven (1) 前往https://maven.apache.org/download.cgi下载最新版的 Maven 程序: (2) 解压 Maven 程序, 复制到一个非中文无空格的路径下. F:\dev\apache-maven-3.6.1 (3) 配置 Maven 相关的环境变量 系统变量:MAVEN_HOME = F:\dev\apache-maven-3.6.1 系统变量:path = %MAVEN_HOME%\bin MAVEN_HOME: pa...

Java10010的博客 180

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

史诗级!有手就会的Maven教程(三)

Eclipse 中 Maven 插件的设置 Eclipse 中已经内置了 Maven 插件, 但是我们不使用内置的 Maven, 而是使用我们自己安装的那个 Maven, 需要我们对其设置一下. 注意: 这样设置只会对本工作区间有效, 其他的工作区间需要进行同样的设置. (1) Window -> Preferences -> Maven -> Installations. 指定 Maven 核心程序的位置. (2) 点击 Add, 添加我们自己安装的...

Java10010的博客 253

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

史诗级!有手就会的Maven教程(五)

POM POM, Project Object Model 项目对象模型. pom.xml 文件是 Maven 工程最核心的配置文件, 构建过程相关的一切设置都在这个文件中. pom.xml 包含了项目构建的信息, 包括项目的信息、项目的依赖等. pom.xml 文件是可以继承的, 大型项目中, 子模块的 pom.xml 一般都会继承于父模块的 pom.xml. Maven 的坐标 使用 gav 向量在 Maven 的仓库中唯一的确定一个 Maven 工程. 如何通过坐标找到 Ma

Java10010的博客 116

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

add framework support中没有maven_史诗级!有手就会的Maven教程(三)

Eclipse 中 Maven 插件的设置Eclipse 中已经内置了 Maven 插件, 但是我们不使用内置的 Maven, 而是使用我们自己安装的那个 Maven, 需要我们对其设置一下.注意: 这样设置只会对本工作区间有效, 其他的工作区间需要进行同样的设置.(1) Window -> Preferences -> Maven -> Installations....

weixin_31156651的博客 1492

史诗级!有手就会的Maven教程(八)

Maven 聚合 在开发2个以上模块的时候,每个模块都是一个 Maven Project。比如搜索平台,学习平台,考试平台。 开发的时候可以自己管自己独立编译,测试,运行。但如果想要将他们整合起来,我们就需要一个聚合工程。 (1) 父模块的创建 父模块一般承担聚合模块和统一管理依赖的作用,没有实际代码和资源文件. 父模块就是创建一个普通的 Maven Project , 此处省略. 但是需要注意的是: 父模块的打包方式必须是 pom. (2) 子模块的创建 ① 子模块需要创建为.

Java10010的博客 141

史诗级!有手就会的Maven教程(四)

约定的目录结构 这是 Maven 项目约定的目录结构: 为什么要遵守约定的目录结构呢? Maven 要负责我们这个项目的自动化构建, 以编译为例, Maven 想要自动进行编译, 那么他必须知道 Java 源文件在哪里. 如果我们自己定义的东西想要框架或者工具知道, 那么有两种办法: ① 以 xml 配置文件的方式告诉框架. ② 遵守框架内部已经存在的定义. 手动编写第一个 Maven 工程 (1) 首先先创建约定的目录结构 手动创建 Maven01 文件夹, (作为项目名), 在..

Java10010的博客 155

史诗级!有手就会的Maven教程(六)

Maven 依赖 Maven 中最关键的部分, 使用 Maven 最主要就是使用它的依赖管理功能. (1) 添加依赖 当 A.jar 包 使用到了 B.jar 包中的某些类时, A 就对 B 产生了依赖. 那么如何在项目中以依赖的方式引入我们需要的 jar 包呢? 就是在 pom.xml 文件中, 使用 dependency 标签 指定被依赖的 jar 包的在本地仓库中的坐标就可以了. (2) 依赖的范围 <scope> 标签可以设置依赖的范围. 可选值: compile..

Java10010的博客 150

史诗级!有手就会的Maven教程(十)

使用 Eclipse 创建 Maven 版的 Java 工程 (1) New -> Maven Project 或者 New -> Other -> Maven -> Maven Project (2) 点击 Next, 勾选第一项. 点击 Next. (3) 输入 gav 坐标. 点击 Finsh. 创建 Maven 版的 JavaWeb 工程 (1) 右键 -> new -> maven -> maven proje...

Java10010的博客 150

maven聚合工程打包_史诗级!有手就会的Maven教程(八)

Maven 聚合在开发2个以上模块的时候,每个模块都是一个 Maven Project。比如搜索平台,学习平台,考试平台。开发的时候可以自己管自己独立编译,测试,运行。但如果想要将他们整合起来,我们就需要一个聚合工程。(1) 父模块的创建父模块一般承担聚合模块和统一管理依赖的作用,没有实际代码和资源文件.父模块就是创建一个普通的 Maven Project , 此处省略.但是需要注意的是: 父模块...

weixin_39792747的博客 290

provided范围maven_史诗级!有手就会的Maven教程(六)

Maven 依赖Maven 中最关键的部分, 使用 Maven 最主要就是使用它的依赖管理功能.(1) 添加依赖当 A.jar 包 使用到了 B.jar 包中的某些类时, A 就对 B 产生了依赖. 那么如何在项目中以依赖的方式引入我们需要的 jar 包呢?就是在 pom.xml 文件中, 使用 dependency 标签 指定被依赖的 jar 包的在本地仓库中的坐标就可以了.(2) 依赖的范围...

weixin_39556811的博客 247

史诗级!有手就会的Maven教程(十二)

Maven 在 Update Project 时报错 在 项目上右键 -> Maven -> Update Project 的时候, 报错: maven Could not update project SpringBoot-4 configuration java.lang.NullPointerException. 使用的是 Eclipse + Maven. 解决办法: StackOverFlow 有解决方案,地址如下: http://stackoverflow.com/que..

Java10010的博客 261

eclipse导入maven报错_史诗级!有手就会的Maven教程(十二)

Maven 在 Update Project 时报错在 项目上右键 -> Maven -> Update Project 的时候, 报错: maven Could not update project SpringBoot-4 configuration java.lang.NullPointerException.使用的是 Eclipse + Maven.解决办法:StackOv...

weixin_28752709的博客 168

maven子模块单独配置文件_史诗级!有手就会的Maven教程(五)

POMPOM, Project Object Model 项目对象模型.pom.xml 文件是 Maven 工程最核心的配置文件, 构建过程相关的一切设置都在这个文件中.pom.xml 包含了项目构建的信息, 包括项目的信息、项目的依赖等.pom.xml 文件是可以继承的, 大型项目中, 子模块的 pom.xml 一般都会继承于父模块的 pom.xml.Maven 的坐标使用 gav 向量在 Ma...

weixin_28981373的博客 389
下一篇: 史诗级!有手就会的Maven教程(二)
Java10010
博客等级 码龄6年 6粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值