一、Java启动命令

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

1、java -jar

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

  1. java -jar test.jar

2、java -cp

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

  1. java -cp test.jar cn.matt.Test

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

  1. java -cp ./target/classestest2.jar cn.matt.Test

3、java -Djava.ext.dirs

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

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

二、Java打包设置

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

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

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <artifactId>maven-assembly-plugin</artifactId>
  5. <configuration>
  6. <appendAssemblyId>false</appendAssemblyId>
  7. <descriptorRefs>
  8. <descriptorRef>jar-with-dependencies</descriptorRef>
  9. </descriptorRefs>
  10. <archive>
  11. <manifest>
  12. <mainClass>cn.matt.maven_test3.App</mainClass>
  13. </manifest>
  14. </archive>
  15. </configuration>
  16. <executions>
  17. <execution>
  18. <id>make-assembly</id>
  19. <phase>package</phase>
  20. <goals>
  21. <goal>assembly</goal>
  22. </goals>
  23. </execution>
  24. </executions>
  25. </plugin>
  26. </plugins>
  27. </build>

三、编译器设置

可通过maven设置项目编译器

  1. <build>
  2. <finalName>wfc-web</finalName>
  3. <plugins>
  4. <plugin>
  5. <groupId>org.apache.maven.plugins</groupId>
  6. <artifactId>maven-compiler-plugin</artifactId>
  7. <version>3.3</version>
  8. <configuration>
  9. <source>1.7</source>
  10. <target>1.7</target>
  11. <encoding>utf8</encoding>
  12. </configuration>
  13. </plugin>
  14. </plugins>
  15. </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. linux服务器负载问题排查

    目录 一.CPU和内存问题 top命令 vmstat命令 free命令 二.磁盘问题 iostat命令 iotop命令 du和df命令 三.网络问题 nload命令 nethogs tcpdump 最 ...

  2. TensorFlow 使用变量共享

    参考: https://www.tensorflow.org/programmers_guide/variable_scope 举例说明 TensorFlow中的变量一般就是模型的参数.当模型复杂的时 ...

  3. vue 生产环境 background 背景图不显示原因

    通常我们使用img标签引入文件,npm run build 打包后 ,因为img为html标签,打包后他的路径是由index.html开始访问的,他走static/img/'图片名'是能正确访问到图片 ...

  4. HDU 3478 Catch (连通性&&二分图判断)

    链接 [https://vjudge.net/contest/281085#problem/C] 题意 一个n个点,m条边的图,开始的点是s 每次必须移动到相邻的位置,问你是否存在某个时刻所有点都可能 ...

  5. 用python表白了!!!

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

  6. Lombok 安装、入门以及使用

    lombok 的官方网址:http://projectlombok.org/ lombok 安装    使用 lombok 是需要安装的,如果不安装,IDE 则无法解析 lombok 注解.先在官网下 ...

  7. MySQL数据类型优化—整数类型优化选择

    原文:http://bbs.landingbj.com/t-0-240002-1.html 在设计数据库的时候,整数类型的使用时不可避免的如ID,类型等. 在选择整数的同时主要是考虑是数据范围,如是否 ...

  8. python3 操作页面上各种元素的方法

    (1)       控制浏览器 ①控制浏览器窗口大小set_window_size(宽,高) 打开浏览器全屏maximize_window() ②控制浏览器后退back().前进forward() ③ ...

  9. C# DataTable详解

    添加引用 using System.Data; 创建表 //创建一个空表 DataTable dt = new DataTable(); //创建一个名为"Table_New"的空 ...

  10. Laravel 出现 No application encryption key has been specified.

    若文件根目录下没有 .env 1..env.example 改名使用命令 copy 修改为 .env 2.使用命令 php artisan key:generate  获取密码,自动保存到 .env3 ...