/**1、没有包结构(默认包)
===============================================================================
*/
public class HelloWorldV1 { public static void main(String[] args) { System.out.println("hello world v1 ....."); } }
D:\work\javacmd>javac HelloWorldV1.java
D:\work\javacmd>java HelloWorldV1
hello world v1 .....
D:\work>java HelloWorldV1
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldV1
D:\work>java -cp D:\work\javacmd\ HelloWorldV1
hello world v1 .....
D:\work\javacmd>javac -verbose HelloWorldV1.java
[解析开始时间 HelloWorldV1.java]
[解析已完成时间 11ms]
[源文件的搜索路径: .,C:\Program Files\Java\jdk1.6.0_39\lib,C:\Program Files\Jav
a\jdk1.6.0_39\lib\tools.jar]
[类文件的搜索路径: C:\Program Files\Java\jdk1.6.0_39\jre\lib\resources.jar,rt.jar,jsse.jar...tools.jar]
[正在装入 java\lang\Object.class(java\lang:Object.class)]
[正在装入 java\lang\String.class(java\lang:String.class)]
[正在检查 HelloWorldV1]
[正在装入 java\lang\System.class(java\lang:System.class)]
[正在装入 java\io\PrintStream.class(java\io:PrintStream.class)]
[正在装入 java\io\FilterOutputStream.class(java\io:FilterOutputStream.class)]
[正在装入 java\io\OutputStream.class(java\io:OutputStream.class)]
[已写入 HelloWorldV1.class]
[总时间 191ms]
win7下使用powershell,类似cmd,但可以使用shell命令
PS D:\work\javacmd> java -verbose HelloWorldV1 > r.txt
[Opened C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.lang.Object from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.io.Serializable from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.lang.Comparable from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.lang.CharSequence from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.lang.String from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.lang.reflect.GenericDeclaration from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.lang.reflect.Type from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.lang.reflect.AnnotatedElement from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.lang.Class from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.lang.Cloneable from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.lang.ClassLoader from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.lang.ref.Reference,java.lang.reflect.*
...
[Opened C:\Program Files\Java\jdk1.6.0_39\jre\lib\charsets.jar]
...
[Loaded java.security.Principal from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded HelloWorldV1 from file:/D:/work/javacmd/]
hello world v1 .....
[Loaded java.lang.Shutdown from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
[Loaded java.lang.Shutdown$Lock from C:\Program Files\Java\jdk1.6.0_39\jre\lib\rt.jar]
加载300+类
-classpath: 简写cp
-verbose: 冗长输出。它包括了每个所加载的类和每个所编译的源文件的有关信息。
-g: 生成所有的调试信息{包括vars-局部变量,缺省:{source-源文件,lines-行号}}
-g:none
-d: 设置生成的class文件的目录
PS D:\work\javacmd> javac -verbose -d ./bin HelloWorldV1.java
-sourcepath: 指定源文件路径,默认取classpath
PS D:\work> javac -verbose -d ./javacmd/bin -sourcepath javacmd javacmd/HelloWorldV1.java
PS D:\work> javac -verbose -d d:/work/javacmd/bin -sourcepath d:/work/javacmd javacmd/HelloWorldV1.java
/** 2、多个class文件。
===============================================================================
*/
package study.timeriver; public class ConsoleV3 { public static void print(String str) { System.out.println("Console.print: "+str); } public static void main(String[] args) { System.out.println("I am ConsoleV3....."); } }
package study.timeriver; public class StringUtilV3 { public static void print(String str) { ConsoleV3.print("StringUtil.print: "+str); } public static void main(String[] args) { System.out.println("I am StringUtilV3....."); } }
package study.timeriver; public class HelloWorldV3 { public static void main(String[] args) throws Exception { StringUtilV3.print("hello world ....."); Thread.sleep(1000000); } }
逐个编译class文件(3个文件:会自动编译关联的。但是不能运行。)
PS D:\work\javacmd> javac -d ./classes ./src/study/timeriver/ConsoleV3.java
PS D:\work\javacmd> java -cp ./classes study.timeriver.ConsoleV3
I am ConsoleV3.....
PS D:\work\javacmd> javac -cp ./classes -d ./classes ./src/study/timeriver/StringUtilV3.java
PS D:\work\javacmd> java -cp ./classes study.timeriver.StringUtilV3
I am StringUtilV3.....
PS D:\work\javacmd> javac -cp ./classes -d ./classes ./src/study/timeriver/HelloWorldV3.java
PS D:\work\javacmd> java -cp ./classes study.timeriver.HelloWorldV3
Console.print: StringUtil.print: hello world .....
打包根目录下面的文件:
jar cvf helloworldv3.jar ConsoleV3.class HelloWorldV3.class StringUtilV3.class
jar打包与直接压缩的区别:多了一个文件: META-INF/MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.6.0_39 (Sun Microsystems Inc.)
打包指定目录(无效)
PS D:\work\javacmd> jar cvf helloworldv3.jar .\classes
执行jar包
PS D:\work\javacmd> java -jar .\helloworldv3.jar
Failed to load Main-Class manifest attribute from .\helloworldv3.jar
打包指定目录
PS D:\work\javacmd\classes> jar cvf helloworldv3.jar .\study
标明清单(manifest)
增加:study/(读入= 0) (写出= 0)(存储了 0%)
增加:study/timeriver/(读入= 0) (写出= 0)(存储了 0%)
增加:study/timeriver/ConsoleV3.class(读入= 689) (写出= 404)(压缩了 41%)
增加:study/timeriver/HelloWorldV3.class(读入= 393) (写出= 270)(压缩了 31%)
增加:study/timeriver/StringUtilV3.class(读入= 739) (写出= 429)(压缩了 41%)
修改META-INF/MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.6.0_39 (Sun Microsystems Inc.)
Main-Class: study.timeriver.HelloWorldV3
PS D:\work\javacmd\classes> java -jar .\helloworldv3.jar
Console.print: StringUtil.print: hello world .....
/** 3、自定义bat批处理文件
===============================================================================
*/
使用bat启动:timeriver.bat
D:\work\javacmd\classes>timeriver.bat
D:\work\javacmd\classes>echo exceute jar....
exceute jar....
D:\work\javacmd\classes>start "tt" "C:\Program Files\Java\jdk1.6.0_39\bin\java"
-classpath "helloworldv3.jar" study.timeriver.HelloWorldV3
/** 4、tomcat的bat批处理文件
===============================================================================
*/
tomcat的catalina.bat
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
使用
echo _EXECJAVA.......................
echo %_EXECJAVA%
pause
goto end
输出变量。替换
start "hh" "C:\Program Files\Java\jdk1.6.0_39\bin\java" -Djava.util.logging.config.file="D:\tomcat\conf\logging.properties" -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs="D:\tomcat\endorsed" -classpath "C:\Program Files\Java\jdk1.6.0_39\lib\tools.jar;D:\tomcat\bin\bootstrap.jar" -Dcatalina.base="D:\tomcat" -Dcatalina.home="D:\tomcat" -Djava.io.tmpdir="D:\tomcat\temp" org.apache.catalina.startup.Bootstrap
/** 5、-D参数,args参数
===============================================================================
*/
public class Test { public static void main(String[] args) { //eclipse中:args在Program arguments,-D在VM arguments if(args.length >= 2){ System.out.println(args[0]); System.out.println(args[1]); } System.out.println("args......"); System.out.println("-DmyConf="+System.getProperty("myConf"));; } }
D:\work\javacmd>java -DmyConf="conf/myConf.xml" Test wnj,ok good well
wnj,ok
good
args......
-DmyConf=conf/myConf.xml
相关推荐
例子 1:单独的一个 Java 主程序 首先,我们创建一个名为 dog.java 的 Java 源文件,内容如下: public class dog { public static void main(String[] args) { System.out.println("我是一只小狗"); } } 然后...
Java命令通常以`java`或者`javac`为起点,其中`java`用于执行已编译的Java类文件,而`javac`则是用于编译Java源代码。这里我们将主要聚焦于`java`命令的参数。 1. **-version**: 显示Java版本信息。这对于确保你的...
《在EditPlus中配置javac和java命令》 在IT行业中,编辑器是开发者的重要工具,而EditPlus作为一款功能强大的文本编辑器,因其简洁的界面、高效的代码编写功能以及丰富的自定义设置,深受广大程序员的喜爱。然而,...
《让EditPlus支持javac,java命令》 对于初学者而言,使用编辑器直接运行Java程序无疑极大地简化了开发流程,免去了在命令行反复切换的繁琐步骤。EditPlus作为一款功能强大的文本编辑器,通过配置可以实现对Java编译...
示例命令`javac-d.filename.java`,其中`-d`选项指定了编译后的.class文件存放目录。如果源代码位于特定包内,如`hello.java`中的`jiang.xu`包,编译后会在相应目录结构下生成`.class`文件。 - **java**:Java解释器...
1、导航到包含Java文件的目录,并执行以下命令来编译Java文件: javac PDFToImageConverter.java 2、执行以下命令来运行生成的类文件,并提供PDF文件的路径和输出文件夹的路径作为命令行参数: java ...
文档将详细介绍javac和java命令的使用方法,包括-classpath和-sourcepath等参数的用法,以及它们在不同操作系统中的适应性和差异性。 在Java开发中,javac是Java的编译器,它将Java源代码编译成字节码文件(.class...
本文将从给定文件的标题和部分内容中提取出与Java命令相关的知识点。 首先,Java的可执行文件通常位于Java开发工具包(JDK)的bin目录中。这个目录下包含了多个重要的命令行工具,其中一些我们可以在给定文件的部分...
《EditPlus支持javac,java命令的配置与使用详解》 在软件开发过程中,一个高效且功能丰富的文本编辑器能够极大地提升开发效率。EditPlus作为一款功能强大的文本编辑器,深受程序员喜爱。本文将详细介绍如何配置...
Java命令主要包括编译、运行、调试、性能监控等多个方面,其中`javac`用于编译源代码,`java`用于执行已编译的字节码,而`jps`、`jstat`等工具则用于系统监控和故障排查。本文主要关注`java`命令的高级用法,特别是...
总的来说,理解和熟练使用`javac`和`java`命令是Java开发的基础。它们允许开发者在命令行环境中编译和运行Java程序,而无需集成开发环境(IDE)。同时,了解如何处理包和类路径对于管理大型项目尤其关键,因为这有助...
* Java 程序的编译包括:javac 命令、java 命令 * Java 程序的运行包括:java 命令、javaw 命令 十二、Java 包和.import 语句 * Java 中的包包括:java.lang、java.util、java.io 等 * .import 语句用于导入包中的...
### Java编译命令javac与Applet运行命令appletviewer详解 #### 一、javac命令详解 在Java编程过程中,我们通常会使用到javac命令来编译Java源代码。对于初学者或者习惯于使用集成开发环境(IDE)的人来说,了解...
**情景1:普通目录结构的项目** 在这种情况下,项目没有使用包结构。打包步骤如下: 1. **项目结构**:源码和编译后文件分别位于`src`和`target`目录下。 2. **编译项目**:使用`javac`命令将`src`目录下的`.java`...
在Java开发过程中,遇到“文件名.java:1: 错误: 编码GBK的不可映射字符”这类问题较为常见,尤其是在处理包含中文字符的代码文件时。这个问题通常出现在Windows操作系统下的开发环境中,由于编码方式不一致导致的...
本文将深入探讨Eclipse中的`javac`命令和`java`命令,以及它们在Eclipse工作流程中的作用。 一、Eclipse的`javac`命令 `javac`是Java编译器的命令行工具,用于将源代码(`.java`文件)编译成可执行的字节码(`....
” Java程序并使用`javac`编译,再用`java`执行: ```bash javac HelloWorld.java java HelloWorld ``` 整个过程中需要注意的是,对于资源有限的ARM设备,优化JRE是非常重要的。例如,可能需要裁剪掉不必要的库或...
Java命令 - **定义**:`java`命令用于执行编译后的Java程序(即`.class`文件)。 - **用法示例**: - `java ButtonEventApplet 100 200 300`:此命令将运行名为`ButtonEventApplet`的Java程序,并传递三个参数`100...
### Java命令详解:高手进阶 #### Java命令概述与应用场景 在Java开发中,掌握核心命令行工具对于提升开发效率、进行深入调试至关重要。本文将详细介绍`java.exe`、`javac.exe`、`javaw.exe`、`javah.exe`、`javap...