idea中如何
idea工具maven projects里面有9种生命周期,生命周期是包含在一个项目构建中的一系列有序的阶段。
一、最常用的两种打包方法:
1.clean,package(如果报错,很可能就是jar依赖的问题)
2.clean,install
二、9种生命周期:
1.clean,清理,在进行真正的构建之前进行一些清理工作,移除所有上一次构建生成的文件。执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。
2.validate,验证,验证工程是否正确,所需的信息是否完整。
3.compile,编译源码,编译生成class文件,编译命令,只编译选定的目标,不管之前是否已经编译过,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。
4.test,单元测试,测试。
5.package,打包,将工程文件打包为指定的格式,例如JAR,WAR等。这个命令会在你的项目路径下一个target目录,并且拥有compile命令的功能进行编译,同时会在target目录下生成项目的jar/war文件。如果a项目依赖于b项目,打包b项目时,只会打包到b项目下target下,编译a项目时就会报错,因为找不到所依赖的b项目,说明a项目在本地仓库是没有找到它所依赖的b项目,这时就用到install命令了
6.verify,核实,检查package是否有效、符合标准。
7.install,安装至本地仓库,将包安装至本地仓库,以让其它项目依赖。该命令包含了package命令功能,不但会在项目路径下生成class文件和jar包,同时会在你的本地maven仓库生成jar文件,供其他项目使用(如果没有设置过maven本地仓库,一般在用户/.m2目录下。如果a项目依赖于b项目,那么install b项目时,会在本地仓库同时生成pom文件和jar文件,解决了上面打包package出错的问题)
8.build:功能类似compile,只是只对整个项目进行编译。
9.site,站点,生成项目的站点文档
10.deploy,复制到远程仓库
三、build和compile的区别
1.Compile:只编译选定的目标,不管之前是否已经编译过。
2,Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置了,Build在实际中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长。
IDEA打成jar包并在windows后台运行
(1)方法一:
一、IDEA打成jar包
1、File=>Project Structure=>Project
选择windows中安装的java版本,idea默认使用自己的java环境,需要改为windows中安装的版本,不然后期jar包在windows中运行时会java版本不对的错误。
2、File=>Project Structure=>Artifacts
接着选择main方法
选择完之后出现以下界面,点击“OK”
3、返回idea的编辑界面后,Build=>Build Artifacts
接着选择build
(2)方法二:
找到主方法的入口,然后执行clean,package
二、在windows后台运行jar包
快速进入到目录下:
按住shift键,然后鼠标右键出现在此处打开Powershell窗口
在cmd中可以使用java -jar xxxxx.jar方式运行一个jar文件,这种方法运行一旦关闭该cmd界面就会停止运行。编辑.bat文件,使用javaw方式运行不用担心文件会在不小心关闭运行界面时停止运行程序。
1、在jar文件的同级目录下面编写两个.bat文件,分别是“启动.bat”和“停止.bat”。
2、启动.bat的内容为:
@echo off
title 准备启动设备驱动...................
color 3E
start javaw -jar -Dloader.path=.,resources,lib siccQh01.jar
echo .
echo ------------ 启动成功 --------------
echo .
echo ------------ 启动成功 --------------
echo .
echo ------------ 启动成功 --------------
echo .
echo ------------ 启动成功 --------------
echo .
timeout /t 2
exit
执行该bat文件会在windows后台运行siccQh01.jar,2秒之后自动关闭
3、停止.bat的内容为:
@echo off
title 停止设备驱动
color 3E
taskkill -f -t -im javaw.exe
echo .
echo ------------停止成功!--------------------
echo .
echo ------------停止成功!--------------------
echo .
echo ------------停止成功!--------------------
echo .
echo ------------停止成功!--------------------
echo .
timeout /t 2
exit
执行后会结束javaw所有进程。
出现问题:
spring boot 运行 jar 或 war 提示没有主清单属性解决
idea中如何的更多相关文章
- Python开源框架
info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...
- mapreduce中一个map多个输入路径
package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...
- Hadoop 中利用 mapreduce 读写 mysql 数据
Hadoop 中利用 mapreduce 读写 mysql 数据 有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...
- Python中的多进程与多线程(一)
一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...
- .NET Core中的认证管理解析
.NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...
- Angular杂谈系列1-如何在Angular2中使用jQuery及其插件
jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...
- 关于CryptoJS中md5加密以及aes加密的随笔
最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...
- In-Memory:在内存中创建临时表和表变量
在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...
- SQL Server中的高可用性(2)----文件与文件组
在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...
- 【.net 深呼吸】序列化中的“引用保留”
假设 K 类中有两个属性/字段的类型相同,并且它们引用的是同一个对象实例,在序列化的默认处理中,会为每个引用单独生成数据. 看看下面两个类. [DataContract] public class 帅 ...
随机推荐
- 根父类:Object 类
一.Object类 Java中规定: 如果一个类没有显式声明它的父类(即没有写extends xx),那么默认这个类的父类就是java.lang.Object. 类 Object 是类层次结构的根类. ...
- Python如何去实际提高工作的效率?也许这个会有用!
4月初,班主任的某次周会议上,华华关切的问了一下:最近班主任们有什么难题吗?就是花费了你们大部分时间的工作!我们Python天团可以帮你们解决问题. 班主任大主管星星说:有.目前有一个大难题.我们每天 ...
- oracle 排序后分页查询
demo: select * from ( select * from DEV_REG_CFG_CAMERA where 1 = 1 order by unid asc) where rownum & ...
- 网络空间安全基础篇(1)----nmap的使用
nmap工具通俗一点说,就是利用nmap工具来对靶机的所有端口及其开启的服务进行扫描,以便于黑客入侵靶机时,知道用什么漏洞去攻击. nmap常用的命令集(标为红色的一般为常用参数): sV 扫描版本O ...
- PAT 乙级 1010.一元多项式求导 C++/Java
设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为nxn−1.) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数).数字间以空格分隔. ...
- python测试开发django-66.图片403forbidden
前言 用 django 开发 web 页面,在 HTML 页面上添加图片时,发现本地图片可以正常显示,但是添加一个互联网的图片,却不能正常显示. 本地 static 图片 先在本地 static 放一 ...
- The Best Open Source Game Engine: In Search Of Perfection
https://www.greatsoftline.com/the-best-open-source-game-engine-in-search-of-perfection/ The game eng ...
- 2017EC Final L SOS——找规律&&博弈
题意 有n个格子排成一行,两人轮流填,可填入"S"或"0",先得到"SOS"的人胜:如果全部填完也没有出现"SOS",则 ...
- 一个项目管理Master的心声
毕业第二年我被幸运女神所眷顾,一下成为了一个20多人研发团队的项目master,自己还未从职场菜鸟的称呼中走出来,就要开始管理团队,在接到通知的时候心里既兴奋又慌得六神无主,然而奔着初生牛犊不怕虎的精 ...
- clr调试扩展和DAC
SOS.DLL.SOSEX.DLL这两个就是用来对.NET程序在Windows调试工具中起到翻译作用的调试器扩展.简单讲就是,这两个组件是.NET项目组专门开发出来用来对.NET应用程序进行方便调试用 ...