广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何将java或javaweb项目打包为jar包或war包
  • 569
分享到

如何将java或javaweb项目打包为jar包或war包

2024-04-02 19:04:59 569人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录一、为什么打包二、如何打包1、打成jar包1.1、使用jar手动打包1. 2、使用idea进行打包2、打成war包一、为什么打包 关于此问题,网上众说纷纭。结合个人理解以及网上说

一、为什么打包

关于此问题,网上众说纷纭。结合个人理解以及网上说法,打成jar包是为了方便别人使用。 如果是运行java程序,就不需要在寻找包含main方法的类去执行;如果是使用第三方jar包,直接在自己项目中导入jar包,而不是复制一堆类文件。打成war包是真实生产环境选择的WEB应用部署方式,网上说这样不会像直接复制文件夹那样可能造成文件丢失,而且服务器会对应用做优化,如删除空文件夹等。以上仅供了解。

二、如何打包

本机环境windows 10, jdk 1.8

打成jar或war包使用的是相同的工具 jdk/bin/jar.exe

1、打成jar包

|-----------------可以略过,仅为了方便理解打包需要注意的事项------------------|

项目简介

数据库表结构及其建表语句

CREATE TABLE `customer`  (
  `cust_id` int(11) NOT NULL AUTO_INCREMENT,
  `cust_name` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `cust_address` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `cust_city` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `cust_state` char(5) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `cust_zip` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `cust_country` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `cust_contact` char(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `cust_email` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`cust_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10006 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

INSERT INTO `customer` VALUES (10001, 'Coyote Inc.', '200 Maple Lane', 'Detroit', 'MI', '44444', 'china', 'Y Lee', 'ylee@coyote.com');
INSERT INTO `customer` VALUES (10002, 'Mouse House', '333 Fromage Lane', 'Columbus', 'OH', '43333', '', 'Jerry Mouse', NULL);
INSERT INTO `customer` VALUES (10003, 'Wascals', '1 Sunny Place', 'Muncie', 'IN', '42222', 'USA', 'Jim Jones', 'rabbit@wascally.com');
INSERT INTO `customer` VALUES (10004, 'Yosemite Place', '829 Riverside Drive', 'Phoenix', 'AZ', '88888', 'UK', 'Y Sam', 'sam@yosemite.com');
INSERT INTO `customer` VALUES (10005, 'gzn or 1=1', '4545 53rd Street', 'ChicaGo', 'IL', '54545', '', 'E Fudd', NULL);

项目结构

app.java

package com.gzn.demo;

import java.sql.*;
import java.util.Scanner;


public class App {
    public static void main(String[] args) {

        int count = Integer.valueOf(args[0]);
        System.out.println("请输入要查询用户的条数?(0到5之间):");
        Scanner sc = new Scanner(System.in);
        int count = sc.nextInt();

        String driver = "com.Mysql.jdbc.Driver";
        String url = "jdbc:mysql://localhost:3306/corejava";
        String username = "root";
        String passWord = "root";
        String sql = "select cust_id, cust_name, cust_address, cust_city from customer limit 0, ? ";

        try {
            Class.forName(driver);
            Connection conn = DriverManager.getConnection(url, username, password);
            PreparedStatement pstat = conn.prepareStatement(sql);
            pstat.setInt(1, count);
            ResultSet rs = pstat.executeQuery();
            while(rs.next()) {
                System.out.println("cust_id:" + rs.getObject("cust_id").toString());
                System.out.println("cust_name: " + rs.getObject("cust_name").toString());
                System.out.println("cust_address: " + rs.getObject("cust_address").toString());
                System.out.println("cust_city:" + rs.getObject("cust_city").toString());
                System.out.println("----------------------" +"\n");
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

}

|---------------------------------------------------------------------------|

1.1、使用jar手动打包

(1)使用cmd找到项目编译输出的路径

(2) 在该目录下运行命令 jar -cvf helloworld.jar .

-c (create,创建)表时要创建文件
-v (verbose,冗长的,详细的) 在控制台打印压缩详情
-f (filename)指定压缩文件名
helloworld.jar 文件名可以自定义
. 表示helloworld目录下的所有文件,这里一定要写“.”,其他可能出错。(补充,*星号也可以)

至此打包成功,但不能运行。想要可以运行还要修改helloword.jar中的MANIFEST.MF文件。

(3)使用解压缩工具打开helloword.jar并编辑META-INF/MANIFEST.MF添加属性

MANIFEST.MF初始状态

Manifest-Version: 1.0
Created-By: 1.8.0_161 (oracle Corporation)

添加属性:(注意,冒号为英文冒号且冒号后有空格

Main-Class: 包含main方法的类
Class-Path: 依赖的jar包的路径,如果依赖多个jar包,使用空格隔开
路径:相对路径,jar包相对于helloworld.jar文件的路径
           绝对路径,jar包在操作系统中的路径
常用相对路径,将依赖的jar包和自己的jar包放在同一级目录下,这样Class-Path直接写依赖jar包的名字即可。

添加属性后状态:

Manifest-Version: 1.0
Created-By: 1.8.0_161 (Oracle Corporation)
Class-Path: mysql-connector-java-5.1.18.jar
Main-Class: com.gzn.demo.App

(4)运行测试
将依赖复制到helloworld.jar 同级目录下,使用 java -jar helloworld.jar 运行程序。

如果jar包仅是为了供其他开发者使用,不需要运行,则进行到第(2)步即可。

1. 2、使用IDEA进行打包

Main Class: 包含main方法的类;
extract to the target JAR: 提取目标jar,此选项需要你为依赖的jar配置绝对路径。
copy to the output directory and link via manifest: 将依赖的jar复制到输出目录中,即和你项目打包的jar在同一级目录。这样IDEA就可以在MENIFEST.MF为Class-Path属性直接配置相对路径。

Output Directory: 打包后的输出路径。

运行测试:

首先进入jar包输入路径C:\Users\gzn\Desktop\helloworld\out\artifacts\HelloWorld_jar;
运行 java -jar helloworld.jar;

2、打成war包

comment是我的一个已将编译好的web项目,使用cmd进入comment目录下执行命令

jar -cvf comment.war .


注意在项目目录下执行命令, “.” 表示对项目目录下的所有文件进行打包,将打包好的项目复制到Tomcat/webapps目录下,启动Tomcat服务器,就可以进行测试了。

到此这篇关于如何将java或javaweb项目打包为jar包或war包的文章就介绍到这了,更多相关java打包为jar包或war包内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 如何将java或javaweb项目打包为jar包或war包

本文链接: https://www.lsjlt.com/news/153913.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何将java或javaweb项目打包为jar包或war包
    目录一、为什么打包二、如何打包1、打成jar包1.1、使用jar手动打包1. 2、使用IDEA进行打包2、打成war包一、为什么打包 关于此问题,网上众说纷纭。结合个人理解以及网上说...
    99+
    2022-11-13
  • 怎么将java或javaweb项目打包为jar包或war包
    这篇文章主要介绍“怎么将java或javaweb项目打包为jar包或war包”,在日常操作中,相信很多人在怎么将java或javaweb项目打包为jar包或war包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-07-02
  • 通过IDEA将java程序或者项目打包为jar包(详细步骤)
    通过IDEA将java程序或者项目打包为jar包 文章目录 目录 文章目录 一、使用java语言,编写一个字典(Dict)Demo 二、将Dict程序打包为jar包 一、使用java语言,编写一个字典(Dic...
    99+
    2023-09-01
    java intellij-idea jar
  • maven打包web项目时同时打包为war和jar文件的方法
    本文介绍了maven打包web项目时同时打包为war和jar文件的方法,分享给大家,具体如下:首先在pom.xml文件中指定war的打包方式,war <artifactId>test</artifactId> &...
    99+
    2023-05-31
    maven war jar
  • springboot项目如何打包成jar包
    本篇内容主要讲解“springboot项目如何打包成jar包”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot项目如何打包成jar包”吧!一、为什么打包项目开发完毕后会将前后端应...
    99+
    2023-06-30
  • SpringBoot项目如何引入外部jar及将外部jar打包到项目发布jar包
    1、创建一个SpringBoot项目 下载项目之后将项目导入IDEA 2、如何添加外部jar包 准备一个外部的jar包, 我这里使用的是guava-31.1-jre.jar作为演示 下载地址:htt...
    99+
    2023-10-25
    spring boot jar java
  • IDEA中MAVEN项目如何打包JAR包
    这篇文章主要为大家展示了“IDEA中MAVEN项目如何打包JAR包”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“IDEA中MAVEN项目如何打包JAR包”这篇文章吧。Idea中为一般的非Web项...
    99+
    2023-05-30
    idea maven jar
  • Java如何实现将类文件打包为jar包
    目录将类文件打包为jar包1.写类文件2.编译3.测试4.打jar包jar包应该怎么打?1.首先确保你的项目2.选中你的项目,点右键3.选择runnable jar file4.如下...
    99+
    2022-11-13
  • eclipse如何将项目打包成jar文件
    这篇文章主要介绍了eclipse如何将项目打包成jar文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。第一种:利用eclipse中自带的export功能第一种方法分两种情况...
    99+
    2023-05-30
  • maven springboot如何将jar包打包到指定目录
    目录如何将jar包打包到指定目录1.目的2.修改pom3.修改启动脚本jar包外指定配置文件及原理解决方案运行原理如何将jar包打包到指定目录 今天分享一下springboot将ja...
    99+
    2022-11-12
  • Maven项目如何用Assembly打包可执行jar包
    这篇文章主要介绍“Maven项目如何用Assembly打包可执行jar包”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Maven项目如何用Assembly打包可执行jar包”文章能帮助大家解决问题。...
    99+
    2023-07-05
  • SpringBoot项目如何打war包问题详解
    目录1、pom.xml配置修改2、pom文件添加如些依赖3、排除springboot内置的tomcat干扰4、改造启动类5、pom文件中不要忘了maven编译插件1、pom.xml配...
    99+
    2022-11-12
  • java项目如何导入jar包
    java项目中导入jar包的方法:方法一:在java项目中新建一个文件夹lib,并将需要导入的jar包复制到lib文件夹中选中servlet-api.jar,右键点击“Build Path”---->"Add to Build Path "...
    99+
    2020-01-19
    java jar包
  • 如何使用eclipse实现将springboot项目打成jar包
    这篇文章主要为大家展示了“如何使用eclipse实现将springboot项目打成jar包”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用eclipse实现将springboot项目打成j...
    99+
    2023-06-20
  • java项目如何引入其他jar包
    目录步骤 1 lib目录步骤 2 修改编译脚本步骤 3 编译cstmgr项目步骤 4 新的运行方式步骤 5 不妨把编译和打包放一起步骤 6 总结tools.jar是刚打出来的工具包,...
    99+
    2022-11-12
  • 如何将java程序打包成jar文件
    在项目上,右键,选择Export。进入到下图界面,选择Java 下面的JAR file(在线学习视频分享:java免费视频教程)选择项目,确认必要的文件是否选中,选择保存jar文件包的路径,如下图:点击Next,进入如下图界面:直接点Nex...
    99+
    2018-02-21
    java程序 打包 jar文件
  • 使用maven如何将项目中的test代码打包进jar中
    目录maven将项目的test代码打包进jar中在pom中添加如下在resources中添加一个assembly.xml文件运行mvn packagemaven打包跳过test在po...
    99+
    2022-11-13
  • idea普通java项目如何添加jar包
    普通的 Java 项目可以通过以下步骤来添加 jar 包:1. 将要使用的 jar 包下载到本地计算机上。2. 打开你的 Java ...
    99+
    2023-10-18
    idea java jar
  • 如何将Java程序打包成一个可执行的jar文件包
    如何将Java程序打包成一个可执行的jar文件包?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。首先要确认自己写的程序有没有报错。第一次我写的是Web Project到现在,...
    99+
    2023-05-31
    java jar
  • Python3.9使用最新版pyinstaller将项目或程序打包成exe或者mac中的可执行文件
    1、pyinstaller的说明: pyinstaller 能够在 Windows、Linux、Mac 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一...
    99+
    2023-08-31
    python pyinstaller 打包成二进制文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作