程序的构建,包括编译、运行、打包和文档生成等

本文介绍了Java程序的构建过程,包括如何编译源码生成字节码、运行class文件,处理带包名的程序以及在引用第三方jar包的情况下如何打包项目成jar文件。强调了MANIFEST.MF配置文件中Class-Path和Main-Class的正确设置,并指出打包后的jar文件需与依赖库lib在同一目录下。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,程序的构建,包括编译、运行、打包和文档生成等。
2,语言基础,包括语法、变量、数组、流程控制、方法、包、类、枚举、接口等。
3,面向对象特性,包括继承、封装、多态、抽象、访问控制。
4,相关运行机制,包括异常、断言、垃圾收集等。
5,常用工具库,包括线程及并发控制、文件及IO处理、泛型和集合类等。
6,常用的类和接口,包括Object、字符串、序列化、比较、克隆等。

day_1_10.26(程序的构建,包括编译、运行、打包和文档生成等)

1、Java源程序经过编译器编译后编成字节码,即class文件中的内容,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。

输入命令 javac 文件名.java
文件名.java 程序进行编译,生成 文件名.class 文件,
再输入命令 java 文件名 运行文件名.class文件,随后即可看到程序运行的结果

例子:
test.java

public class test
{
    public static void main(String[] args)
    {
        System.out.println("Hello World");
    }
}
(1)进入工程文件夹 
(2) javac test.java(编译完成后,文件列表多了test.class文件)
(3) java test

这里写图片描述

这里写图片描述

2,带包名的java程序

例子:
这里写图片描述

model包里放test.java

package model;
public class test
{
    public static void main(String[] args)
    {
        System.out.println("Hello World");
    }
}

(1)进入src目录
(2)javac model/test.java
(3)java model.test(或model/test)
这里写图片描述

3,编译引用第三方jar包的类

这里写图片描述

javac -cp lib/mysql-connector-java-5.1.23-bin.jar ../../src/db/DBUtil.java
java -cp lib/mysql-connector-java-5.1.23-bin.jar ;../../src db/DBUtil.java
//分号;空格 易错点
//ps,javac -cp lib/* 表示导入全部jar

这里写图片描述

4,引用了第三方jar包的Java项目打包成jar文件

由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下:

//MAINIFEST的版本
Manifest-Version: 1.0
//要执行的main java文件
Main-Class: main.test
//外来jar包的位置
Class-Path: lib/xxx1.jar lib/xxx2.jar lib/xxxx3.jar 

注意:
1、Class-Path: 和Main-Class: 后边都有一个空格,必须加上,否则会打包失败,错误提示为:Invalid header field;

2、假设我们的项目打包后为test.jar,那么按照上面的定义,应该在 test.jar的同层目录下建立一个lib文件夹(即lib文件和打包的jar文件
在同一个目录下),并将相关的jar包放在里面。否则将会出现“Exception in thread “main” java.lang.NoClassDefFoundError”的错误;

3、Main-Class后面是类的全地址,比如你的主文件是test.java,文件里打包为package com.main; 那么这里就写com.main.test,
不要加.java后缀,主文件地址写错将会出现“找不到或无法加载主类”的错误;

5,普通class文件打包jar

 cd进入要打成jar包的class文件所在目录:
 jar cvf [生成jar的名称.jar] [列出class文件]   //若有多个用空格隔开
//例1:操作零散的单个或几个class文件:
cd bin jar cvf test.jar com/model/test.class 
com/model/student.class

之后会在bin目录下生成test.jar
ps,把一个文件夹下面所有的class文件打成jar包

jar cvf ipaddress.jar * 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值