Maven打包JavaWeb项目的两种方式

idea 自动打包Maven项目并部署到远端服务器 idea 一键部署云端服务器,自动重启、自动输出日志到idea 阅读详情

Maven打包web项目方式及步骤

我最近学习的打包方式有两种,分为如下:

  • 第一种是通过命令行打包:要知道maven常用的命令
  • 第二种是通过eclipse打包:简单方便就可以打包,是普遍使用的方式

一、通过eclipse打包web项目

(1)进入eclipse打包右键点击项目,选择Run As。
这里写图片描述

(2)任何打包前先进行清理,选择Maven clean。等待console出现如下图所示的BUILD SUCCESS,清理之前的包
这里写图片描述
(3)之后Maven打包处理得到以下窗口,再Goals中输入packge(也可以跳过clean步骤吗,再这里直接输入clean package)
选择跳过测试Skip Tests与更新快照Update Snapshots
这里写图片描述
Goals中其实填入的的就是maven常用的命令:

  • mvn package:打包命令
  • mvn install: 打包后将其安装在本地仓库,日后可以调用
  • mvn test:运行测试
  • mvn clean :清除之前的包
  • mvn compile:变异源代码,生成class文件
    ………

(4)等待Console出现打包成功的信息,也可能会失败。
这里写图片描述
(5)之后查看target下是否存在打包成功的class文件及xxxxx.war包
打包之前项目的target文件夹如下,是没有任何的class文件以及xxx.war包的
这里写图片描述
打包之后查看项目的target文件夹,存在了class字节码文件与war包
这里写图片描述
(6)之后将war拷贝到tomcat的wapapps文件夹下,即可以通过访问http://localhost:8080/xxx项目名称访问,这样做的好处就是可以脱离IDE,进行打包发布。

二、通过命令来实现打包

再安装好maven环境之后,可以再dos下进行maven命令进行项目的打包。其大体步骤跟第一种方式大同小异。
(1)进入项目所在目录,进行clean命令

mvn clean

这里写图片描述
(2)打包+传入配置文件参数+跳过测试

mvn package -Pqa -DskipTests

  • package :基本命令,进行打包
  • -Pqa:项目开发需要有多个环境,一般为开发,测试,预发,正式4个环境,通过maven可以实现按不同环境进行打包部署。也就是dev(开发)、qa(测试)、pre(预发)、生产正式(prod)四个环境,对应的都有各自的配置文件properties。
    这里写图片描述
    通过-P传入环境id参数就可以选择环境,比如传入qa,即命令-Pqa 。会得到qa.peroperties配置文件,这是因为我们在pom.xml文件中有这样的配置
<build>
    <filters>
           <filter>src/main/resources/env/${env}.properties</filter>
       </filters>
       <resources>  
          <resource>  
              <directory>src/main/resources/</directory>  
              <filtering>true</filtering>  
              <includes>  
                  <include>**/*.properties</include>  
              </includes>  
          </resource> 
       </resources>
 ....
 </build>

其中${env}.properties就是让我们传入环境参数qa、dev、prod、pre。
- DskipTests:跳过测试,否则打包过程很慢
这里写图片描述
这里写图片描述

(4)同样在target文件夹下找到项目war包,然后拷贝到tomcat的webapps文件夹下进行打包发布配置

在打包过程中需要注意的几点

(1)mvn打包必须有JDK环境下才能正确打包。

(2)正确配置pom.xml文件

(3)版本号可以在pom.xml中修改

黑马JavaWeb开发笔记12——IDEA集成Maven:配置Maven环境、Maven项目创建&导入、依赖配置和管理、Maven生命周期 本篇文章是2023年最新黑马JavaWeb开发笔记12:IDEA集成Maven:配置Maven环境、Maven项目创建&导入、依赖配置和管理、Maven生命周期的总结,帮助需要学习Web开发的朋友温故而知新。 阅读详情

相关推荐

《供应链金融风控模型设计:多维度数据整合与动态风险预警机制》

注:方案突出供应链金融「三流合一」(资金流、物流、信息流)的风控逻辑,通过多维度数据整合与动态预警,解决传统风控中中小企业信用评估难、链条风险传导监测滞后的问题。◦ 构建供应链拓扑图,计算「核心企业违约对上下游企业的影响系数」(如某电子厂商违约时,其前五大供应商的风险权重自动提升40%)• 区块链应用:将核心企业应付账款上链存证,防止「一票多融」欺诈(如某供应商用同一应收账款在多家银行融资)◦ 财务数据:核心企业审计报告、上下游企业纳税数据(增值税发票频次/金额)

2501_91651383的博客 1548

eclipse开发JavaWeb项目,并部署到Tomcat

eclipse开发JavaWeb项目,并部署到Tomcat

m0_57408988的博客 4838

开源大模型推理GPU资源评估以及优化

随着大模型的火热很多项目中都使用到了开源大模型,这时候准确评估大模型的GPU资源非常重要,主要有下面几个方面:GPU是昂贵的资源。高估内存需求可能导致在硬件上的不必要支出,而低估则可能导致系统故障或性能下降。:适当的内存管理确保模型高效运行,能够更快地响应用户并处理更多并发请求。:随着需求的增长,理解内存需求对于在不牺牲性能或产生高昂成本的情况下扩展服务至关重要。尽管其重要性显而易见,但计算用于服务大型语言模型(LLM)的GPU内存并不简单。

优快云DN的博客 3116

Maven打包web项目方式及步骤

Maven打包web项目方式及步骤 我最近学习的打包方式有两种,分为如下: 第一种是通过命令行打包:要知道maven常用的命令 第二种是通过eclipse打包:简单方便就可以打包,是普遍使用的方式 一、通过eclipse打包web项目 (1)进入eclipse打包右键点击项目,选择Run As。 (2)任何打包前先进行清理,选择Maven clean。等待console出现如下图所示的...

youxiu8015的博客 1370

Windows 11 下 WSL 离线安装 Ubuntu 22.04 保姆级教程(国内镜像加速版)

本文提供了一份针对中国地区用户的Windows 11下WSL离线安装Ubuntu 22.04的详细教程。通过使用国内镜像源加速下载安装包,并配合PowerShell命令完成部署,有效解决了官方商店下载缓慢的问题。教程涵盖环境准备、离线包获取、安装初始化及安装后的关键优化配置,帮助用户快速搭建高效的Linux开发环境。

weixin_28452161的博客 1378

5G-A无源物联网:深度解析“不插电“智能的底层技术原理

北京移动推出5G-A无源物联网技术,实现电动车标签"零功耗"运行。该技术通过射频能量收集(利用5G-A基站高功率信号转换为电能)和反向散射通信(调制反射信号传输数据)两大核心技术,使设备无需电池即可工作。5G-A相比4G在信号能量密度、通信速率和定位精度等方面显著提升,结合通感一体等创新技术,为无源物联网提供商用基础。该方案已在北京小区试点应用,实现电动车精准定位管理,标签寿命可达5年以上。专家预测,这项技术将大幅降低物联网部署成本,推动"万物智联"时代的到来。

通信行业老兵、物联网从业者,做一个有趣的普通人。 2010

Maven Java Web Project打包详解/如何打包

文章目录打包部署构件(Artifacts)打源码包 打包部署构件(Artifacts) war 格式的部署构件可以直接放置到服务器的 webapps 目录下,启动服务器的时候会自动进行拆包完成部署。 exploded 的部署构件则可以放置在任意目录下,不过需要一个 xml 文件来指明该构件的具体路径。而该 xml 文件的名称通常是应用的虚拟名称(即应用根目录的虚拟名称也称为应用的虚拟根目录的名称)。 以 Maven 作为构建工具,可以通过命令终端进入 pom.xml 所在的目录下,然后执行下面的指令来生成构

liaowenxiong的博客 1468

OpenClaw进阶实战(二十五):抖音企业号——私信回复与视频评论分析

摘要:本文介绍抖音企业号自动化运营方案,突破抖音强风控体系的技术挑战。针对内容生产、私信互动和账号矩阵三大场景,提出混合架构解决方案: 私信自动化:结合关键词触发与随机延迟(45秒±15),实现拟人化回复,支持价格咨询/商务合作等高优先级消息识别 混合技术栈:官方API(合规)+真机RPA(覆盖长尾需求)+AI辅助生成(脚本→剪辑→发布闭环) 安全策略:通过设备指纹模拟、行为间隔随机化和内容差异化处理规避风控,提供每日200条的安全操作阈值。配套OpenClaw技能实现一键部署,包含cookie配置、回复规

PeterPan的博客 142

eclipse中部署tomcat,web项目打包war和jar

Eclipse创建web项目之前要部署tomcat 环境; 前提,已经在电脑上安装了tomcat 首先:点击window,选择preperences,然后找到server 这里可能搞那个使用eclipse的小伙伴没有这个server选项,这是因为没有下载相应的插件,具体解决方案就是到eclipse的插件下载的窗口去下载,这里重点说部署 然后在server文件夹下选择runtime environments,然后会出现如下界面(我这个已经配了一个,所以有一个tomcat) 点击最右侧的add,选择你安装to

weixin_41657954的博客 3574

STM32实战开发(120):基于STM32的智能pH值检测系统开发

pH值检测:通过pH传感器实时检测溶液的酸碱度。数据采集与处理:STM32单片机通过模拟信号采集并进行数字化处理。数据显示与控制:通过LCD或OLED屏幕实时显示pH值。数据存储与上传:将数据保存在本地SD卡,或通过Wi-Fi模块上传至云平台。低功耗设计:适合长时间运行,减少能源消耗。本文介绍了如何基于STM32单片机开发智能pH值检测系统,涉及硬件设计、软件开发及应用实现。该系统可以实时检测pH值,并将数据展示、存储、上传至云平台,适用于环境监测、农业、水处理等多个领域。

2201_76125393的博客 1816

【数据集】1970-2023年全球温室气体排放 GHG 数据集 EDGAR

1970-2023年全球温室气体排放 GHG 数据集 EDGAR

WW、forever的博客 1172

idea2024 连接tomcat的两种方式

下载和配置Tomcat服务器,使用maven创建一个javaWeb项目点击右上方的current file,选择Edit Configurations 点击左上角的+,往下划可以看到Tomcat Servlet这个选项 可以看到添加Tomcat有两种方式,本地配置和远程配置代码如下(示例): 点击local后,配置下图内容(一般情况下只起一个名字就行了,其他都默认好了) 点击Deployment,点击Artifact… 选择exploded这个选项,即你Web项目的打包 之后依次点击右下角的app

jocer_zhu的博客 1795

改进后的yolov8导出进行部署到rk3588上时,导出为onnx格式报错aten::fft_fft2算子不支持导出...如何解决?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 1796

JavaWeb项目打包、部署至Tomcat并启动的全程指南(图文详解)

Tomcat部署JavaWeb项目;JavaWeb项目的打包与部署的全流程攻略

weixin_52937170的博客 8953

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

dos命令打包Javaweb、Maven项目

今天心血来潮研究一下手动打包项目的问题,这也是程序猿必备的技能之一~ 首先要通过dos命令进入到项目的根目录中,或者打开项目根目录按住shift+鼠标右键直接在该文件夹下打开命令窗口~ 1.打包Javaweb项目 输入: jar -cvf 项目名.war *;(例:jar -cvf haha.war * )→回车 完成会在webroot或者webcontent文件夹下找到相关war文件 ...

Gemini_Kanon的博客 1265

深度学习工具包 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")

idea打包javaweb项目为war包

idea怎么打包javaweb项目为war包并放到tomcat下启动 一、 我们javaweb项目结构如下: 我们想打把这个javaweb项目打包为war包,该javaweb项目是非maven项目,因此不能通过pom文件中添加依赖的方式打war包。具体打包步骤如下: 点击下图中的红框位置: 打开后,如下图:依次配置好projects, moudles, libraries,Facets选项,选中...

【莉婶】的博客 4342

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

用Eclipse创建Maven JavaWeb项目

一、创建Maven Project 二、填写Group Id 和 Artifact Id 以及选择打包方式 : war 三、查看创建完成Maven项目 在pom.xml文件中指定jdk的版本 <build> <pluginManagement> <plugins> <plugin> <groupId>org.ap...

weixin_43840640的博客 6785

Eclipse打包maven项目

maven - JavaWeb 打包 1.清除原来的war包  选中maven项目,右键–>Run As–>maven clean maven clean 执行的是maven原生命令:mvn clean 因为maven在打包时,如果已经存在一个包时,再次执行打包命令时,如果不把原来的war包删除,经常会导致包没有更新 出现如图表示成功 2.打包项目 命令:mvn -package...

Yao_ban的博客 3633

IDEA 之使用Maven创建JavaWeb项目

文章目录步骤一:创建一个 project步骤一:选择 maven ,选中 webapp步骤一:填写 GroupId 跟 ArtifictId(GroupId是公司名,ArtifictId是项目名)步骤四:配置自己的maven,然后next步骤五:finish 创建完成步骤六:等一等,第一次可能会很慢步骤七:补齐项目缺少的文件夹步骤八:修改文件夹用途步骤九:配置Tomcat 步骤一:创建一个 pro...

const_ 1596

java项目或JavaWeb项目通过Maven打包成jar包或war包的做法以及使用java命令运行

写在前面 要使用Maven打包项目,有两种方式,一种是利用开发工具(IDEA或Eclipse)来直接操作,另一种是在命令提示符界面使用Maven命令操作。 打包操作 1、使用开发工具(IntelliJ IDEA)打包 1.1、选择打包方式 首先需要明确自己的项目要打包的类型:jar或war 如果没有一些前端页面,建议打包成jar即可,如果包含web功能模块,就打包成war。 为此,我们需要在pom.xml文件中指定打包方式: <groupId>com.wnkj</groupId

直到日落的博客 7294
上一篇: Java并发学习(2)一认识线程的状态
下一篇: 学习二叉树(1)
J-Jian
博客等级 码龄9年 48粉丝 63原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值