一、
在路径~/java_study/java_code/pageTest 中有一个java文件:staticinit.java 代码如下:
package java2.java_code.pageTest;
class Bowl
{
Bowl(int marker)
{
System.out.println("Bowl(" + marker + ")");
}
void f1()
{
System.out.println("Ok");
}
}
class Cupboard
{
Bowl b1 = new Bowl(1);
static Bowl b2 = new Bowl(2);
Cupboard()
{
System.out.println("Cupboard()");
}
static Bowl b3 = new Bowl(3);
}
class Table
{
Table()
{
System.out.println("Table()");
}
Table(String a,int i){
this();
System.out.println("Ok");
}
}
public class staticinit
{
static Cupboard t1 = new Cupboard();
static Table t2;
Bowl t3 = new Bowl(10);
void print()
{
t3.f1();
}
public static void main(String[] args)
{
new Bowl(6);
System.out.println("Creating new Cupboard() in main");
new Cupboard();
System.out.println("Creating new Cupboard() in main");
//staticinit od = new staticinit();
//od.t3.f1();
Table t4 = new Table("aa",1);
}
}
终端的当前目录为~/java_study/java_code/pageTest
环境变量为:
CLASSPATH=".:/usr/lib/jdk_6u26/java-6-sun/lib"
使用命令:
javac -d . staticinit.java
会在当前目录下生成一个java2的目录,里面包含class文件
java java2.java_code.pageTest.staticinit
可执行此程序,终端上会看见一些输出
二、
修改staticinit.java的main函数为:
public static void main2()
{
new Bowl(6);
System.out.println("Creating new Cupboard() in main");
new Cupboard();
System.out.println("Creating new Cupboard() in main");
//staticinit od = new staticinit();
//od.t3.f1();
Table t4 = new Table("aa",1);
}
保存,执行命令javac -d . staticinit.java
重新创建一个java文件:two.java,代码如下:
import java2.java_code.pageTest.*;
public class two
{
public static void main(String[] args)
{
staticinit t = new staticinit();
t.main2();
}
}
在two中引用staticinit。
执行命令:javac two.java后会出现如下错误:
two.java:6: 无法访问 staticinit
错误的类文件: ./staticinit.java
文件不包含类 staticinit
请删除该文件或确保该文件位于正确的类路径子目录中。
staticinit t = new staticinit();
^
1 错误
这是因为 staticinit.java文件存在的缘故,把staticinit删掉即可,重新执行命令javac two.java,正常
再执行命令:java two,终端会有输出
三、
接一、二步骤
执行命令:
jar cvf java2.jar java2/* 将java2打包成jar包
javac -cp java2.jar two.java 编译two
java -cp java2.jar:$CLASS_PATH two 执行two
当外部引用一个jar中,有一个较简单的方法,就是将该 jar 的路径加入CLASS_PATH中,剩下的操作就和普通的包没什么多大区别了:
import //引用一个包
完成后 javac、java 即可,不需要添加别的参数
分享到:
相关推荐
1. **Java程序在默认文件夹下**:当Java源文件没有使用`package`语句时,程序会被放在默认的包中。为了在没有Java环境的机器上运行,你需要将JRE文件夹(包含Java运行时环境)复制到一个新的文件夹,比如E盘的Java...
- 编译Java源代码后,会生成.class扩展名的字节码文件。 - Java程序的运行包括三个主要步骤:编辑源程序、编译生成字节码、解释运行字节码。 2. Java语言的语法和编程基础 - Java的基本数据类型中,char型使用...
在Java编程中,JAR(Java Archive)文件是一种标准的归档格式,用于打包和分发Java类库、资源文件以及元数据。本实例77将深入探讨如何在Java项目中应用JAR包,这对于开发者来说是至关重要的,因为这有助于简化代码...
在Java中,包(Package)和JAR文件(Java Archive)是组织和管理类的重要方式,它们对于代码的可维护性和重用性至关重要。 1. 包(Package)在Java中的作用: 包在Java中主要起到命名空间的作用,它帮助我们避免...
6. **打包成jar**:在Maven中,运行`mvn package`命令,Gradle中执行`gradle build`,这将会生成一个包含所有编译后类和资源的jar文件。 三、使用单独的Ibatis jar包 1. **引入依赖**:在新的项目中,将生成的jar包...
Java程序通常包含源代码、编译后的类文件、.jar归档文件以及对象状态序列化的.ser文件。Java语言是大小写敏感的,源文件名应与公共类(public class)的名字相同,并以.java为扩展名。每个源文件最多只能有一个...
Oracle JDBC驱动程序是Java开发者与Oracle数据库交互的重要工具,而`ojdbc14.jar`是Oracle公司提供的一个特定版本的JDBC驱动包,主要用于支持Java应用程序连接到Oracle数据库。在这个详细的解释中,我们将深入探讨`...
生成的.jar文件是一个标准的ZIP归档,包含了类文件和其他资源。 九、Java程序的编译和执行过程 1. 启动JVM。 2. 解析并加载类文件。 3. 验证字节码的正确性。 4. 解释执行字节码,或者在启用的情况下,进行即时编译...
- 性能优化:减少不必要的计算,合理使用数据结构和算法,以及使用适当的并发模型来提升程序性能。 - 错误处理:添加适当的错误处理机制,防止程序因未预期的输入或条件而崩溃。 - 用户体验:提供友好的用户界面,...
在Java编程中,与数据库的交互是必不可少的一部分,而Oracle数据库作为世界上最广泛使用的数据库系统之一,其Java驱动程序——ojdbc6.jar,成为了Java开发者的重要工具。本文将详细介绍ojdbc6.jar及其在Java与Oracle...
综上所述,要想使一个jar包通过双击来执行Java程序,需要完成以下步骤:编写并编译Java源代码,通过package语句对生成的class文件进行封装,创建并编辑清单文件来指定主类,最后使用jar命令打包。完成这些步骤之后,...
JAVA学习笔记涵盖了从环境配置到Java运行过程,再...总结来说,JAVA学习笔记包含了Java开发的基础环境配置、程序运行流程、内存管理、安全机制以及源代码的编写和编译执行。这些知识点对于初学者理解Java编程至关重要。
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在实际项目开发中,为了方便部署和运行,有时我们需要将配置文件和其他资源打包成JAR文件。本教程将详细解释如何生成包含MyBatis配置...
### Java调用Matlab知识点详解 ...综上所述,Java调用Matlab涉及多个步骤,包括环境配置、Matlab代码编写、编译以及在Java中调用Matlab编译后的JAR文件。正确地完成这些步骤,可以实现Java与Matlab之间的有效交互。
总结起来,这个压缩包提供了一个关于SpringBoot项目打包和使用的过程实例,包括了错误修正、IDEA与Maven的配合使用,以及如何处理和引入jar包。对于学习SpringBoot开发和Maven的初学者来说,这是一个很好的实践案例...
使用`javac`命令编译Java源文件,生成`.class`文件,然后用`java`命令运行程序。在创建包结构时,需在源文件的开头指定`package`语句,并使用`javac -d`命令指定编译后的包结构路径。 Java支持三种类型的注释:单行...
- 使用`MANIFEST.MF`文件:jar包可以包含一个名为`META-INF/MANIFEST.MF`的文件,用于指定主类、版本信息等元数据,这在创建可执行jar文件时尤其重要。 - `jar`命令的其他选项:除了`cvf`,`jar`命令还有其他选项,...
编译Java源文件时,可以使用javac命令,如果涉及包结构,可以使用-d选项指定生成路径。 包(package)的概念是为了组织源文件,类似于目录结构。声明包名通常放在源文件的第一行,多层包之间用点分隔。编译时,如果...