这是关于在命令行中,使用java -classpath的小实验。
首先,必须在系统环境变量中设置过classpath,如何设置见: http://www.21jn.net/html/72/n-272.html
开始我对编译路径的探讨,
首先,写一个小程序(我这个程序是不带包的,即没有package语句):
import java.io.File;
public class AquariumInSwing {
public static void main(String[] args) {
String myPath = System.getProperty( "java.class.path");
System.out.println(myPath);
myPath = System.getProperty("user.dir");
System.out.println(myPath);
File file = new File(".");
System.out.println(file.getAbsolutePath());
}
}
工程的目录是:D:\JavaWorkspace\Aquarium
.java的源文件在D:\JavaWorkspace\Aquarium\src下,
.class文件由MyEclipse编译后放在D:\JavaWorkspace\Aquarium\bin下,
使用MyEclipse编译,运行,得到的结果是(不包括--------------------------------):
--------------------------------------------------------------------
D:\JavaWorkspace\Aquarium\bin
D:\JavaWorkspace\Aquarium
D:\JavaWorkspace\Aquarium\.
--------------------------------------------------------------------
接下来,我希望在命令行中,执行该程序,看看输出的结果
因为.class文件已经在bin下了,所以,我直接在命令行下去到
(1)D: 转到D盘
(2)cd D:\JavaWorkspace\Aquarium\bin 去到bin下
(3)java AquariumInSwing
得到的结果是:
--------------------------------------------------------------------
.;C:\Program Files\Java\jdk1.6.0_18\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_18\lib\tools.jar
D:\JavaWorkspace\Aquarium\bin
D:\JavaWorkspace\Aquarium\bin\.
--------------------------------------------------------------------
完全不一样嘛~~~~~
怎么会这样???!!!!!!
我的估计是:MyEclipse执行程序时,通过-classpath修改了运行时的classpath,即覆盖了我们之前设置的环境变量classpath。
如果想在命令行中,得到与MyEclipse运行时一样的效果,可以这样:
java -classpath D:\JavaWorkspace\Aquarium\bin AquariumInSwing
结果:
----------------------------------------------------
D:\JavaWorkspace\Aquarium\bin
D:\JavaWorkspace\Aquarium
D:\JavaWorkspace\Aquarium\.
---------------------------------------------------
最后补充一点 文件夹的名字不要有空格,例如不要把JavaWorkspace起名为Java Workspace,
否则,-classpath 参数会不正确。
但是,如果真的有空格,可以使用引号,引住-classpath的参数,即:
java -classpath "D:\JavaWorkspace\Aquarium\bin" AquariumInSwing
最后,大家可以试试这个
java -classpath "%classpath%;D:\JavaWorkspace\Aquarium\bin" AquariumInSwing
其实,-classpath会替代系统环境变量中设置的classpath,如果不想被替代,可以通过%classpath%,然后再追加自己的classpath,记住用分号(;)分割。
分享到:
相关推荐
在使用MyEclipse Jad反编译程序时,你需要确保已经正确安装了MyEclipse,并且配置了Jad的路径。一般来说,你可以通过以下步骤来使用: 1. **导入项目**:首先,在MyEclipse中导入你要反编译的项目或库。 2. **选择...
要在Eclipse或MyEclipse中使用FernFlower,需要配置外部工具并运行其命令行版本。 3. **Procyon** Procyon是一个现代化的反编译器和编译器框架,它的源代码反编译能力较强。Eclipse用户可以通过Eclipse ...
- **命令行使用**:你可以直接运行`jad.exe`,然后指定要反编译的`.class`文件路径,JAD将会输出对应的源代码。 - **MyEclipse内使用**:在MyEclipse中,右键点击项目中的`.class`文件,选择“Open With” -> ...
总的来说,MyEclipse8.5反编译工具结合jad.exe,为开发者提供了一种方便的途径来查看和理解已编译的Java程序,这对于学习、调试和逆向工程等场景非常有用。通过详细阅读并按照Readme.txt的指导操作,你可以成功地将...
jad.exe是Jad的执行程序,用户通过这个命令行工具可以反编译单个的.class文件。在MyEclipse中集成Jad,可以让开发者更便捷地操作和理解第三方库或者已经编译的项目。 net.sf.jadclipse_3.3.0.jar是jad反编译器的...
标题中的“myeclipse 源码反编译插件”指的是在MyEclipse集成开发环境中使用的源码反编译工具。源码反编译是将已编译的Java字节码还原为接近原始源代码的形式,这对于查看或理解没有提供源代码的库或框架的内部工作...
本文将详细介绍如何在Myeclipse6环境下安装并使用Jad这一反编译工具,帮助开发者深入理解代码运行机制。 首先,我们要知道什么是Jad。Jad是由JADSoft公司开发的一款Java反编译器,它可以将Java字节码转换回接近原始...
JAD支持多种反编译模式,包括命令行模式和与其他IDE集成,如MyEclipse。 MyEclipse是一款功能强大的Java EE集成开发环境,它基于Eclipse,提供了更多的企业级开发特性。为了在MyEclipse中方便地使用JAD,需要安装...
- 在 MyEclipse 中创建 Java 项目,编写代码,并直接在 IDE 中编译运行。 **2.4 小结** - 总结两种方式的优缺点,强调使用 MyEclipse 的便捷性。 #### 四、Eclipse 的基础概念与使用 **3.1 界面布局** - 详细...
MyEclipse反编译是一个关于Java应用程序开发工具的专题,主要涉及到如何利用特定工具来查看和理解已编译的.class文件的源代码。在Java世界里,.class文件是Java字节码,它是源代码(.java文件)经过编译后的结果。反...
### 在JDK和Eclipse下Java Applet的编写与运行详解 #### 一、Java Applet简介 Java Applet是一种可以嵌入到网页中的小型Java应用程序。它可以在支持Java的Web浏览器上运行,使得开发者能够利用Java的强大功能来...
2. **运行jad**:通过命令行或者集成到IDE(如MyEclipse)中,指定要反编译的.class文件路径。 3. **配置参数**:jad有许多可配置的选项,比如输出格式、命名约定等,根据需求进行调整。 4. **查看结果**:反编译...
本章节主要介绍如何使用 MyEclipse6 来创建、编译和运行 Java 应用程序。 **2.2 手工编写、编译并运行 Java 程序** - 创建一个新的 Java 类文件,编写简单的代码。 - 保存后,在命令行窗口使用 javac 命令编译 ...
在使用MyEclipse时,环境变量的配置是至关重要的一步,因为它直接影响到软件的运行和项目的编译。下面将详细介绍MyEclipse环境变量配置的相关知识点。 1. **JDK配置**: - MyEclipse需要Java Development Kit (JDK...
- 使用IDE提供的功能来完成Java程序的编写、编译和运行。 三、Eclipse的基础概念,配置和使用 Eclipse作为一个开源的集成开发环境,具备许多实用功能。本部分对Eclipse界面布局、常见概念和操作进行了详细说明,...
【描述】"这是一份适合初学者的myeclipse创建Java项目教程,包含了从新建项目到运行程序的基本操作。" 【标签】"java, myeclipse" 【正文】 在Java开发领域,MyEclipse是一款广泛使用的集成开发环境(IDE),它...
请注意,尽管JAD是一个强大的工具,但反编译的源代码可能与原始Java源代码略有不同,因为编译过程会丢失一些元数据。此外,反编译第三方库的源代码可能涉及版权问题,所以在使用时务必遵守相关法律法规。
JDK是Oracle公司提供的Java编程语言的软件开发包,它包含了编译、运行Java程序所需的所有组件,包括Java虚拟机(JVM)、Java类库以及相关的开发工具。MyEclipse则是基于Eclipse的集成开发环境(IDE),专为Java、Web...
#### 四、Eclipse的基础概念与使用 - **界面布局**: - 菜单栏、工具栏、透视图切换器、视图、上下文菜单、状态栏、编辑器等。 - **常见概念与操作**: - **项目**:组织源代码的基本单位。 - **工作区**:存储...
而"jadeclipse.rar"这个压缩包则包含了与MyEclipse相关的反编译工具,这对于开发者来说是一个非常实用的辅助工具。 反编译是将已编译的.class文件转换回源代码的过程,通常用于查看或学习已有库的内部实现,或者...