java -jar 和 java -cp 的区别】的更多相关文章

原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/12022527.html Project Directory SRC MainTest.java package org.fool.test; public class MainTest { public static void main(String[] args) { System.out.println("Hello Jar"); } } Maven Dependency <?x…
https://blog.csdn.net/weixin_38653290/article/details/84647019 1.pom中build指定mainClass 但是 META-INF\MANIFEST.MF文件中没有指定Main-Class: test.core.Corejava -jar test-jar-with-dependencies.jar //执行成功java -cp test-jar-with-dependencies.jar test.core.Core //执行失败…
一. jar 包 JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件.JavaSE程序可以打包成Jar包(J其实可以理解为Java了). JAR 文件格式以流行的 ZIP 文件格式为基础.与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库.组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用.在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR.…
java -jar eureka-server.jar --spring.profiles.active=peer1…
Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in xxx.jar"(没有设置Main-Class).ClassNotFoundException(找不到依赖包)等错误. 要想jar包能直接通过java -jar xxx.jar运行,需要满足: 1.在jar包中的META-INF/MANIFEST.MF中指定Main-Class,这样才能确定程序的…
java -cp java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符:window上分号“;”.Linux下使用“:”.windows环境: java -cp .;d:\work\other.jar;d:\work\my.jar packname.mainclassname linux环境: java -cp .:/hone/myuser/work/other.jar:/hone/myuser/wo…
java -cp java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符:window上分号“;”.Linux下使用“:”.windows环境: java -cp .;d:\work\other.jar;d:\work\my.jar packname.mainclassname linux环境: java -cp .:/hone/myuser/work/other.jar:/hone/myuser/wo…
java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;”格式:java -cp .;myClass.jar packname.mainclassname    表达式支持通配符,例如:java -cp .;c:\classes01\myClass.jar;c:\classes02\*.jar  packname.mainclassname java -jar myClass.jar执行该命令时,会用…
java -cp java -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库和jar包,需要全路径到jar包,多个jar包之间连接符:window上分号";".Linux下使用":". windows环境: java -cp .;d:\work\other.jar;d:\work\my.jar packname.mainclassname linux 环境: java -cp .:/hone/myuser/work/other.ja…
 -cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;”  java -cp .;myClass.jar packname.mainclassname   classpath中的jar文件能使用通配符,如果是多个jar文件,要一个一个地罗列出来,从某种意义上说jar文件也就是路径. 要指定各个JAR文件具体的存放路径,相同路径有多个可使用通配符 java -cp .;c:\classes\myClass.j…
hadoop jar可以看做是java -jar的升级,可以和它一样带参数,程序一样的解析 不同的是hadoop jar运行的jar包他会依赖于hadoop安装目录下面的一些环境,并且你jar包里指定了依赖了别的版本的jar包,hadoop jar会优先跑到他自己的share/hadoop/*目录下面去使用类,有的情况如果出现冲突,里面版本低于使用的,可以把hadoop里面相应的jar包删除,但是有一些删除并不能解决问题…
——作为java程序员,经常会遇到这样一个问题,打个jar包,测试或者上线生产,于是乎面临的选择来了,java –jar or nohup? 下面我来扒一扒: 一.    java -jar a.jar &   直接启动jar文件,在当前会话进程中开启一个子进程来运行程序,这个子进程会随着会话进程的结束而结束. 这种情况适合短时间测试用. 二.     nohup java -jar a.jar&   先交代一下名词: hangup (挂断),终端退出时会发送 hangup 信号来通知其关…
本文仅针对纯java工程执行进行诠释,一般在PC平台作为jar包形式存在,在Android平台则以dex包形式存在. Java属于高级程序语言,Java程序需要运行在特定的虚拟机中,虚拟机将Java字节码转换成对应的机器指令进行执行.不同平台具有不同的虚拟机对应各自的机器指令.PC端一般使用JVM虚拟机,Android端使用dalvik虚拟机. 需要配置环境: Java JDK开发环境 idea开发工具 Android SDK开发环境 Android build-tools 环境变量(随意指定一…
java虚拟机和Dalvik虚拟机的区别: java虚拟机Dalvik虚拟机 java虚拟机基于栈. 基于栈的机器必须使用指令来载入和操作栈上数据,所需指令更多更多dalvik虚拟机是基于寄存器的 java虚拟机运行的是java字节码.(java类会被编译成一个或多个字节码.class文件,打包到.jar文件中,java虚拟机从相应的.class文件和.jar文件中获取相应的字节码) Dalvik运行的是自定义的.dex字节码格式.(java类被编译成.class文件后,会通过一个dx工具将所有…
一.jar命令作用: 进行打包 -- 把多个文件打包成一个压缩包 -- 这个压缩包和Winzip的压缩格式是一样的. 区别在于jar压缩的文件默认多一个META-INF的文件夹,该文件夹下包含一个Manifest.mf(清单文件)的文件 通常来说jar命令得到的压缩包有三种(压缩格式完全一样,只是后缀名不同而已): A.*.jar - 它里面包含N个class文件. B.*.war (web) - 它是一个web应用打包生成的. C.*.ear(Enterprise) -它是一个企业应用打包生成…
Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野.它对内存的高效使用,和在低速CPU上表现出的高性能,确实令人刮目相看. 依赖于底层Posix兼容的操作系统,它可以简单的完成进程隔离和线程管理.每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例, 其代码在虚拟机的解释下得以执行. 很多人认为Dalvik虚拟机是一个Java虚拟机,因为Android的编程语言恰恰就是Java语言.但是这…
Java.javax.org.sun包都是jdk提供的类包,且都是在rt.jar中.rt.jar是JAVA基础类库(java核心框架中很重要的包),包含lang在内的大部分功能,而且rt.jar默认就在根classloader的加载路径里面,所以放在classpath是多此一举 .他们之间的区别具体如下: 1. java.* JavaSE的标准库,是java标准的一部分,是对外承诺的java开发接口,通常要保持向后兼容,一般不会轻易修改.包括其他厂家(IBMJDK/HPJDK/OpenJDK)在…
相同点:二者都是Java的虚拟机,用来执行Java程序 区别: 1. javaw.exe运行程序时不会输出控制台信息 (注:“w”就是window的意思). 使用案例  start.bat(y以下代码内容) 与 jar 包目录平级 -- 未配置 环境变量的情况下start D:\pro\jre7\bin\javaw -jar data.jar -- 已配置 环境变量的情况下start javaw -jar data.jar 2.java.exe 会显示在控制台中输出信息,关闭窗口则程序停止. …
当写一个java文件后,在DOS中进行编译与执行时,如果没有引入外来的包,那情况很简单 例如: public class hello_world { public static void main(String[] args) { System.out.println("hello world !"); } } 使用命令 /*编译*/ javac hello_world.java /*执行*/ java hello_world 过程与结果: 但是,然我们是用外部包的时候,就稍稍有点麻烦…
1.Shell执行/调用Java/Jar程序 #!/bin/bash JAVA_HOME="$HOME/jdk" BASE_DIR=`dirname $0` if [ "$BASE_DIR" = '.' ] then BASE_DIR=`pwd` fi PROCESS_HOME=`dirname $BASE_DIR` MY_DIR="$PROCESS_HOME/gasarchiveprocess" RUN_DIR="$MY_DIR/ru…
Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野.它对内存的高效使用,和在低速CPU上表现出的高性能,确实令人刮目相看. 依赖于底层Posix兼容的操作系统,它可以简单的完成进程隔离和线程管理.每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例, 其代码在虚拟机的解释下得以执行. 很多人认为Dalvik虚拟机是一个Java虚拟机,因为Android的编程语言恰恰就是Java语言.但是这…
  test.java 和 example.jar 在同一目录:并且test.java引用了example.jar 首先编译test.java: javac -cp example.jar test.java 然后执行 test.class java -cp example.jar test 然后出错 “错误: 找不到或无法加载主类 test" 原来引用文件后面要加上冒号":"  (windows可能要加上";") java -cp example.jar…
部署spark集群 使用spark包 spark-1.0.2-bin-hadoop2.tgz 在spark-shell和java -jar访问hadoop hdfs上的文件写法是有区别的 在spark-shell直接使用/user/ning/1.txt 之类的路径,不用加hdfs://host:port 的前缀 在java -jar 命令中访问呢,需要hdfs://host:port/user/ning/1.txt这样模式的路径才能访问…
转载自:https://www.cnblogs.com/aggavara/archive/2012/11/16/2773246.html 当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时候,你会发现如何设置-classpath参数应用程序都找不到相应的第三方类,报ClassNotFound错误.实际上这是由于当使用-jar参数运行的时候,java VM会屏蔽所有的外部classpath,而只以本身yourJarExe.jar的内部class作为类的寻找范围.…
1.打包 与平常maven项目打包一致,不再赘述 2.杀死原有进程 通过 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` 获取当前进程的pid 然后通过kill -9杀死 3.脚本执行java -jar xxx.jar 脚本中执行此命令,在系统中发现并没有运行. 但是将所有命令放这sh脚本中执行,没有任何问题(到Jenkins的workspace下直接sh执行) 经查询资料发现,Jenkins在执行完命令后,会杀死所有的子进程…
jar包本质上是将所有class文件.资源文件压缩打成一个包(也可以选择不压缩),可选择在jar包中生成META-INF/MANIFEST.MF文件,MANIFEST.MF是清单文件,里面可以记录主类.classpath等信息,供虚拟机使用.接下来的一段时间里,我们将以以下路径学习jar命令和清单文件的相关知识 jar打包class文件    带包class文件jar打包    清单文件的使用 在这篇文章里我们将使用简单的java程序来熟悉jar命令的使用,因为是出于熟练使用jar的目的,下面的…
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限. 下面看例子: package org.thread.demo; class MyThread extends Thread{ private String name; public MyThread(String name)…
java中set map list的区别: 都是集合接口 简要说明 set --其中的值不允许重复,无序的数据结构 list   --其中的值允许重复,因为其为有序的数据结构 map--成对的数据结构,健值必须具有唯一性(键不能同,否则值替换) List按对象进入的顺序保存对象,不做排序或编辑操作.Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序--否则应该使用List).Map同样对每个元素保存一份,但这是基于"键"的,Ma…
Java中Comparable和Comparator接口区别分析 来源:码农网 | 时间:2015-03-16 10:25:20 | 阅读数:8902 [导读] 本文要来详细分析一下Java中Comparable和Comparator接口的区别,两者都有比较的功能,那么究竟有什么区别呢,感兴趣的Java开发者继续看下去吧.Comparable 简介Comparable 是排序接口.若一个类实现了Comparab 本文要来详细分析一下Java中Comparable和Comparator接口的区别,…
有时候,我们经常会需要调试 java -jar xxx.jar方式运行的代码,而不是必须在Eclipse中用Debug或者Run的方式运行.比如我们拿到的SourceCode不完整.Java提供了一种调试的机制. 1. 我们可以使用命令: java -agentlib:jdwp=transport=dt_socket,server=y,address=8050,suspend=y -jar xxx.jar 来打开调试.运行后,它会在8050端口监听调试器的Attach的信号. 2. 然后,我们在…