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中如何的更多相关文章

  1. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  2. mapreduce中一个map多个输入路径

    package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...

  3. Hadoop 中利用 mapreduce 读写 mysql 数据

    Hadoop 中利用 mapreduce 读写 mysql 数据   有时候我们在项目中会遇到输入结果集很大,但是输出结果很小,比如一些 pv.uv 数据,然后为了实时查询的需求,或者一些 OLAP ...

  4. Python中的多进程与多线程(一)

    一.背景 最近在Azkaban的测试工作中,需要在测试环境下模拟线上的调度场景进行稳定性测试.故而重操python旧业,通过python编写脚本来构造类似线上的调度场景.在脚本编写过程中,碰到这样一个 ...

  5. .NET Core中的认证管理解析

    .NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...

  6. Angular杂谈系列1-如何在Angular2中使用jQuery及其插件

    jQuery,让我们对dom的操作更加便捷.由于其易用性和可扩展性,jQuer也迅速风靡全球,各种插件也是目不暇接. 我相信很多人并不能直接远离jQuery去做前端,因为它太好用了,我们以前做的东西大 ...

  7. 关于CryptoJS中md5加密以及aes加密的随笔

    最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...

  8. In-Memory:在内存中创建临时表和表变量

    在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...

  9. SQL Server中的高可用性(2)----文件与文件组

        在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...

  10. 【.net 深呼吸】序列化中的“引用保留”

    假设 K 类中有两个属性/字段的类型相同,并且它们引用的是同一个对象实例,在序列化的默认处理中,会为每个引用单独生成数据. 看看下面两个类. [DataContract] public class 帅 ...

随机推荐

  1. JS 正则表达式转换字符串

    获取第一个.前面的字符串,以及后面的字符串: const transform = str => { str.replace(/([^\.]*)\.(.*)/, function($0, $1,$ ...

  2. sizeof()计算

    本节包含sizeof()计算结构体,位域,数组,字符串,指针,c++中的class等类型的大小,sizeof()计算的大小都是以字节为单位. 一 计算基本类型的长度 sizeof(char): 1 s ...

  3. ThreadLocal概述、以及存在的坑

    ThreadLocal: 线程的一个本地化对象.当多线程中的对象使用ThreadLocal维护变量是,ThreadLocal为每个使用该变量的线程分配一个独立的变量副本. threadlocal通常定 ...

  4. win10开机启动vmware虚拟机【亲测可用】

    创建vbs脚本放到开机启动目录: set ws=createobject("wscript.shell") ws.run """C:\Program ...

  5. 树莓派开机发送IP地址到邮箱

    树莓派使用的wifi联网,在宿舍使用的是公共网络,不能设置静态ip,每次树莓派上电开机后ip地址可能会改变,所以让树莓派开机联网后自动发送ip地址到QQ邮箱 一.安装mutt和msmtp mutt: ...

  6. maven:读取程序版本号的三种方案

    方案1在应用项目中,如果应用程序需要获取当前程序的版本号,可以读取”/META-INF/maven/${groupId}/${artifactId}/pom.properties“,获取maven生成 ...

  7. python应用-获取文件后缀名

    def get_suffix(filename,has_dot=False): """ 获取文件后缀名 :param filename: 文件名 :param has_d ...

  8. BZOJ-1042:硬币购物(背包+容斥)

    题意:硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了tot次.每次带di枚ci硬币,买si的价值的东西.请问每次有多少种付款方法. 思路:这么老的题,居然今天才做到. ...

  9. 22、pandas表格、文件和数据库模块

    pandas官方文档:https://pandas.pydata.org/pandas-docs/stable/?v=20190307135750 pandas基于Numpy,可以看成是处理文本或者表 ...

  10. Linux—— 报错汇总

    前言 记录Linux相关的错误问题和解决方法 问题 tar: Error is not recoverable: exiting now [报错] tar -zxvf mysql-server_5.6 ...