一、Java启动命令

java程序的启动方式有三种:

1、java -jar

  生成的jar包中,manifest文件定义了Main Class,可使用该命令

java -jar test.jar

2、java -cp

  生成的jar包中,无Main Class配置,可使用该命令

java -cp test.jar cn.matt.Test

  该命令也可从class文件中启动java程序,对于依赖的jar包,须明确列出,并用分号(windows)或冒号(Linux)分隔

java -cp ./target/classes;test2.jar cn.matt.Test

3、java -Djava.ext.dirs

  当jar中包含依赖包时,使用java -cp并不方便,此时可使用该命令,只需指定依赖包目录

java -Djava.ext.dirs=. cn.matt.maven_test.App

二、Java打包设置

使用Maven打包,默认情况下,生成的jar包不能直接运行(无Main Class),并且不包含依赖jar包

指定Main Class,并包含依赖的jar包配置:

<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>cn.matt.maven_test3.App</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>assembly</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

三、编译器设置

可通过maven设置项目编译器

<build>
<finalName>wfc-web</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>utf8</encoding>
</configuration>
</plugin>
</plugins>
</build>

参考:

Maven打包含有Main方法jar并运行

java命令行运行jar里的main类

Eclipse中通过Maven更改jdk设置

Java启动命令与Maven打包设置的更多相关文章

  1. [置顶] Java启动命令大观

    Java启动命令是所有java应用程序的入口,通过它来启动Java运行时环境,并加载相关的class.不过由于IDE的盛行,我们Java程序员中的大多数的并不是非常的了解Java启动命令.本文希望做一 ...

  2. 007-aven-assembly-plugin和maven-jar-plugin打包,java启动命令

    一.需求 打一个zip包,包含如下: bin为程序脚本,启动和停止 lib为依赖包 根目录下为配置文件和项目jar包 二.知识储备 2.1.插件了解 plugin function maven-jar ...

  3. IDEA Java/Scala混合项目maven打包

    1.首先创建maven项目 2.创建成功后新建class,只有java的,没有scala的 3.修改pom.xml文件,引入scala <?xml version="1.0" ...

  4. 关于maven打包与jdk版本的一些关系

    最近让不同JAVA版本的容器maven打包折腾的不行,终于理出了一点头绪.在这里记录下备忘. 1. Maven与jdk版本的关系 先明确一个概念,关高版本JDK运行maven,是可以打出低版本的JAV ...

  5. java分模块项目在idea中使用maven打包失败(ps:maven常用到的命令)

    一.分模块项目打包失败 情况:项目是分模块创建的,一些公共的方法是单独的一个模块common,其他模块依赖于此模块,poom依赖已经添加了,项目可以正常运行,但使用maven打包时出现了问题:找不到依 ...

  6. 关于Maven打包Java Web项目以及热部署插件Jrebel的使用

    Java Web/Eclipse/Maven/Tomcat 最近有个新项目是java web项目,记录一下,可能比较乱.虽然没接触过Java,但是eclipse还是用过的 初识项目 同事说,项目是ma ...

  7. 使用Ant 和 Maven打包发布命令行程序(转载)

    From:https://www.linux178.com/Java/maven-release.html 用Java写了一个命令行的小程序,使用的Intellij IDE是IDEA13原来一直使用A ...

  8. Java+Selenium 3.x 实现Web自动化 - Maven打包TestNG,利用jenkins执行测试

    1. Jenkins本地执行测试 or 服务器端执行测试 测试代码计划通过jenkins执行时,通过网上查询各种教程,大多数为本地执行测试,由此可见,本地执行是大多数人的选择. 经过探讨,最终决定采用 ...

  9. 使用 "java -jar"命令启动jar包时报不支持的jdk版本异常

    在使用java -jar 命令启动一个jar包的时候,提示版本不支持: [root@hadoop01 eureka-server-master]# java -jar xuebusi-eureka-s ...

随机推荐

  1. Numpy求均值、中位数、众数的方法

    首先需要数据源,这里随便写了一个: nums = [1,2,3,4] 求均值和中位数均可以使用numpy库的方法: import numpy as np #均值 np.mean(nums) #中位数 ...

  2. 【vue】vue-router路径无法正确跳转

    具体描述:vue项目,npm run build时点击路由切换,第一次点击没问题,再点不会切换报错如下图 原因分析:vue-router配置路由,当代码分割和懒加载时,由于webpack配置不当,导致 ...

  3. JSP报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

    今天使用Eclipse+Maven建立了一个Javaweb工程,并在eclipse中配置了Web容器Jboss eap 6.2.新建jsp页面,添加一个简单 的Java类.可是,JSP页面顶端出现“红 ...

  4. 让你一看就懂的快速排序算法(Java)

    快速排序 你也许会被快速排序的文章弄得迷迷糊糊,其实大体上去看,快速排序就一步:找个数做基准数,把小于它的数移到它左边,把大于它的数移到它右边.这句话是核心.然后我们只需要让基准数左边的重复上面的步骤 ...

  5. 如何查看IntelliJ IDEA的版本信息

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. IDEA的版本信息问题 额,说实在的,这篇文章十三一开始也不是很想整 ...

  6. Django的model form组件

    前言 首先对于form组件通过全面的博客介绍,对于form我们应该知道了它的大致用法,这里我们需要明确的一点是,我们定义的form与model其实没有什么关系,只是在逻辑上定义form的时候字段名期的 ...

  7. A short Glimpse to Spectral Sequences 快速入坑谱序列(英文)

    In this short paper with a few of page (but a lot of language mistake), I want to introduce the theo ...

  8. codeforces#1097 D. Makoto and a Blackboard(dp+期望)

    题意:现在有一个数写在黑板上,它以等概率转化为它的一个约数,可以是1,问经过k次转化后这个数的期望值 题解:如果这个数是一个素数的n次方,那么显然可以用动态规划来求这个数的答案,否则的话,就对每个素因 ...

  9. 用python表白了!!!

    用python 画一颗心,代码:   import numpy as np import matplotlib.pyplot as plt x = np.linspace(-8 , 8, 1024) ...

  10. 利用php查看某个服务的进程数

    查看进程就是使用ps命令而已,只不顾ps的参数太多了. 使用php查询的话,必须要开启几个函数(可以执行外部程序的函数),参考官网:http://php.net/manual/zh/book.exec ...