javac、java打jar包命令实例

作者:kingxss 时间:2022-06-28 19:29:11 

Java开发中使用IDE工具肯定会很大程度的提高开发效率,但是有时候需要用java命令在服务器上启动Java工程代码来完成一系列的功能 ,当然用ANT也非常方便。下面以简单HelloWorld代码为例子来记录,如何使用最基本的Java命令。

一、编写HelloWorld,代码如下:

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

二、使用javac命令进行编译。

打开CMD窗口
进入文件所在目录,上述Hello.java所在目录为F:\JavaProject\ahellodemo\src\。
使用javac Hello.java进行编译。完成后可以看到F:\JavaProject\ahellodemo\src\下多了个Hello.class文件

三、使用java命令运行编译后代码。

在CMD窗口中使用java Hello 命令运行编译后代码,输出 Hello world 。

上述过程是Java的实践入门。那么如果这个类是在某个包下呢?假设该类所在的工程目录结构如下

--ahellodemo
  --src
   --com
     --whty
       --hello
         --Hello.java
  --classes

1).HelloWorld.java代码如下:

package com.whty.hello; 
 
public class Hello{ 
    public static void main(String[] args) { 
        System.out.println("Hello world"); 
    } 
}

2).这时,我们希望代码能够像使用IDE一样被编译到classes目录(该目录需要自己建立)下。下面依然使用javac命令进行编译。

打开CMD窗口
进入工程所在目录,上述工程目录为F:\JavaProject\ahellodemo\。
使用javac -d ./classes ./src/com/whty/hello/Hello.java进行编译。完成后可以看到F:\JavaProject\ahellodemo\classes\下多了个com目录,Hello.class文件也被编译到了F:\JavaProject\ahellodemo\classes\com\whty\hello目录下。

3).使用java命令运行编译后代码。

在CMD窗口中进入工程目录下的classes目录下,然后使用java com.whty.hello.Hello 命令运行编译后代码,输出 Hello world 。

4).打成可运行的jar包

经过上述三个步骤以后,我们可以先在classes目录下编写一个MANIFEST.mf文件内容如下,这里要注意每个冒号后面的英文空格:

Manifest-Version: 1.0 
Main-Class: com.whty.hello.Hello 
Class-Path:  

然后再CMD中进入工程classes目录,使用 jar -cvfm hello.jar MANIFEST.mf com 命令,这时该目录下回出现hello.jar文件。在CMD窗口中输入 java -jar hello.jar 会输出 Hello world 。

查看更多Java的语法,大家可以关注:《Thinking in Java 中文手册》、《JDK 1.7 参考手册官方英文版》、《JDK 1.6 API java 中文参考手册》、《JDK 1.5 API java 中文参考手册》,也希望大家多多支持脚本之家。

标签:javac,java,jar,命令
0
投稿

猜你喜欢

  • android 实现侧边弹窗特效代码

    2021-10-18 07:23:02
  • Ubuntu搭建Java开发环境笔记

    2023-10-10 14:27:49
  • Flutter生命周期超详细讲解

    2022-12-31 04:45:57
  • Java使用原型模式展现每日生活应用案例详解

    2023-03-08 04:27:08
  • C#中的三种定时计时器Timer用法介绍

    2023-06-09 13:31:13
  • Spring JPA 增加字段执行异常问题及解决

    2023-06-25 23:55:58
  • Java设计模式之中介者模式的实现方式

    2022-08-10 23:43:06
  • C#中重载相等(==)运算符示例

    2023-01-11 15:10:36
  • c#中var关键字用法浅谈

    2022-03-14 00:21:51
  • 浅谈Java 三种方式实现接口校验

    2023-01-20 02:57:55
  • C#微信开发之微信公众号标签管理功能

    2023-04-17 20:20:44
  • C#使用WebClient登录网站并抓取登录后的网页信息实现方法

    2022-05-19 10:43:24
  • springboot整合shiro与自定义过滤器的全过程

    2023-11-24 21:02:40
  • C#将制定目录文件名转换成大写的方法

    2022-10-03 19:46:36
  • Android 帧动画的实例详解

    2023-02-05 16:09:42
  • android JSON解析数据 android解析天气预报

    2022-01-16 03:33:53
  • 基于spring AOP @Around @Before @After的区别说明

    2023-12-15 03:08:25
  • Spring Boot 中application.yml与bootstrap.yml的区别

    2023-07-09 12:30:56
  • java实现捕鱼达人游戏

    2023-11-23 21:28:59
  • Android 短信验证码自动填写

    2022-06-15 08:22:56
  • asp之家 软件编程 m.aspxhome.com