1.使用IDEA创建一个Java项目
TestMain.java:
import javax.swing.*; import java.awt.*; public class TestMain { //定义一个CreateJFrame方法 public void CreateJFrame(String title){ //创建一个JFrame对象 JFrame jFrame = new JFrame(title); //获取一个容器 Container container = jFrame.getContentPane(); //创建一个JLabel标签 JLabel jl = new JLabel("这是一个JFrame窗体"); //使标签上的文字居中 jl.setHorizontalAlignment(SwingConstants.CENTER); //将标签添加到容器中 container.add(jl); //设置容器的背景颜色 container.setBackground(Color.gray); //设置JFrame可见 jFrame.setVisible(true); //设置JFrame大小 jFrame.setSize(500,500); //设置JFrame的显示位置 jFrame.setLocation(600,300); //设置窗口关闭方式 jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String[] args) { new TestMain().CreateJFrame("普通Java项目——Jar包测试"); System.out.println("普通Java项目——Jar包大功告成!"); } }
2.使用IDEA将Java项目打成JAR文件
如果对文件做了修改,要重新打包,只需要rebuild即可:
3.运行Jar文件
(1)方法一:双击Jar文件直接运行
(2)方法二:在DOS中使用Java指令运行
4.MANIFEST.MF文件说明
打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANIFEST.MF文件的内 容,先来看struts.jar中包含的MANIFEST.MF文件内容:
Manifest-Version: 1.0 Created-By: Apache Ant 1.5.1 Extension-Name: Struts Framework Specification-Title: Struts Framework Specification-Vendor: Apache Software Foundation Specification-Version: 1.1 Implementation-Title: Struts Framework Implementation-Vendor: Apache Software Foundation Implementation-Vendor-Id: org.apache Implementation-Version: 1.1 Class-Path: commons-beanutils.jar commons-collections.jar commons-digester.jar commons-logging.jar commons-validator.jar jakarta-oro.jar struts-legacy.jar
注意:MANIFEST 文件末尾必须要有一个空行,而且每行的冒号后面必须要有一个空格。
如果我们把MANIFEST中的配置信息进行分类,可以归纳出下面几个大类:
(1)一般属性
1> Manifest-Version
用来定义manifest文件的版本,例如:Manifest-Version: 1.0
2> Created-By
声明该文件的生成者,一般该属性是由jar命令行工具生成的,例如:Created-By: Apache Ant 1.5.1
3> Signature-Version
定义jar文件的签名版本
4> Class-Path
应用程序或者类装载器使用该值来构建内部的类搜索路径
(2)应用程序相关属性
1> Main-Class
定义jar文件的入口类,该类必须是一个可执行的类,一旦定义了该属性即可通过 java -jar x.jar来运行该jar文件。
1.jar包的几种制作方式_一个努力的菜鸟的博客-CSDN博客_怎么制作jar包
2.Java 制作 jar 包的基本流程_GGN_2015的博客-CSDN博客_如何开发jar包
3.MANIFEST.MF文件详解 - DavidGandy - 博客园
4.java打jar包的几种方式详解 - jack_Meng - 博客园