iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么将java或javaweb项目打包为jar包或war包
  • 738
分享到

怎么将java或javaweb项目打包为jar包或war包

2023-07-02 16:07:08 738人浏览 独家记忆
摘要

这篇文章主要介绍“怎么将java或javaweb项目打包为jar包或war包”,在日常操作中,相信很多人在怎么将java或javaWEB项目打包为jar包或war包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答

这篇文章主要介绍“怎么将java或javaweb项目打包为jar包或war包”,在日常操作中,相信很多人在怎么将java或javaWEB项目打包为jar包或war包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么将java或javaweb项目打包为jar包或war包”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    一、为什么打包

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

    二、如何打包

    本机环境windows 10, jdk 1.8

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

    1、打成jar包

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

    项目简介

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

    怎么将java或javaweb项目打包为jar包或war包

    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);

    项目结构

    怎么将java或javaweb项目打包为jar包或war包

    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找到项目编译输出的路径

    怎么将java或javaweb项目打包为jar包或war包

    怎么将java或javaweb项目打包为jar包或war包

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

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

    怎么将java或javaweb项目打包为jar包或war包

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

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

    MANIFEST.MF初始状态

    Manifest-Version: 1.0Created-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.0Created-By: 1.8.0_161 (Oracle Corporation)Class-Path: mysql-connector-java-5.1.18.jarMain-Class: com.gzn.demo.App

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

    怎么将java或javaweb项目打包为jar包或war包

    怎么将java或javaweb项目打包为jar包或war包

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

    1. 2、使用idea进行打包

    怎么将java或javaweb项目打包为jar包或war包

    怎么将java或javaweb项目打包为jar包或war包

    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属性直接配置相对路径。

    怎么将java或javaweb项目打包为jar包或war包

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

    运行测试:

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

    怎么将java或javaweb项目打包为jar包或war包

    2、打成war包

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

    jar -cvf comment.war .

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

    到此,关于“怎么将java或javaweb项目打包为jar包或war包”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    --结束END--

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

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

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

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

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

    下载Word文档
    猜你喜欢
    • 怎么将java或javaweb项目打包为jar包或war包
      这篇文章主要介绍“怎么将java或javaweb项目打包为jar包或war包”,在日常操作中,相信很多人在怎么将java或javaweb项目打包为jar包或war包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
      99+
      2023-07-02
    • 如何将java或javaweb项目打包为jar包或war包
      目录一、为什么打包二、如何打包1、打成jar包1.1、使用jar手动打包1. 2、使用IDEA进行打包2、打成war包一、为什么打包 关于此问题,网上众说纷纭。结合个人理解以及网上说...
      99+
      2024-04-02
    • SpringBoot项目打jar包和war包
      目录 一. SpringBoot项目打war包 二. SpringBoot项目打jar包 背景:使用Idea编辑器 一. SpringBoot项目打war包 步骤: 在pom.xml文件中的标签,使用标签,去给生成的war包起名字。若是没...
      99+
      2023-08-31
      java SpringBoot打包 打jar包 打war包
    • 通过IDEA将java程序或者项目打包为jar包(详细步骤)
      通过IDEA将java程序或者项目打包为jar包 文章目录 目录 文章目录 一、使用java语言,编写一个字典(Dict)Demo 二、将Dict程序打包为jar包 一、使用java语言,编写一个字典(Dic...
      99+
      2023-09-01
      java intellij-idea jar
    • 项目打包部署之部署jar包和war包
      一、概述:  本文将介绍将Java项目部署到Linux服务器上的步骤。首先,你需要了解服务器的基本知识和安装Java环境的方法。然后,我们就jar包和war包两种应用部署到Linux服务器上来进行讲解,包括如何将应用程序上传到服务器,如何配...
      99+
      2023-08-25
      jar linux java 服务器 运维
    • 怎么将SpringBoot项目打war包
      本篇文章为大家展示了怎么将SpringBoot项目打war包,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、pom.xml配置修改<packaging>jar</packagin...
      99+
      2023-06-15
    • SpringBoot怎么打jar包与war包
      这篇文章主要介绍“SpringBoot怎么打jar包与war包”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot怎么打jar包与war包”文章能帮助大家解决问题。一. SpringB...
      99+
      2023-07-05
    • SpringBoot项目打jar包与war包的详细步骤
      目录一. SpringBoot项目打war包二. SpringBoot项目打jar包总结背景:使用Idea编辑器 一. SpringBoot项目打war包 步骤: 在pom.xml文...
      99+
      2023-02-24
      springboot 打jar包 java打war包命令 为什么要打war包
    • maven打包web项目时同时打包为war和jar文件的方法
      本文介绍了maven打包web项目时同时打包为war和jar文件的方法,分享给大家,具体如下:首先在pom.xml文件中指定war的打包方式,war <artifactId>test</artifactId> &...
      99+
      2023-05-31
      maven war jar
    • 怎么将Android Studio项目打包成jar
      这期内容当中小编将会给大家带来有关怎么将Android Studio项目打包成jar,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Android Studio 如何打JAR包在eclipse中我们知道如何...
      99+
      2023-05-30
      android studio jar
    • SpringBoot项目jar和war打包部署方式详解
      目录jar与warjar包部署运行war包部署运行jar与war Spring Boot项目开发完成后,需要以jar或war的方式将项目打包部署到测试开发环境。 jar即Java A...
      99+
      2024-04-02
    • SpringBoot项目如何引入外部jar及将外部jar打包到项目发布jar包
      1、创建一个SpringBoot项目 下载项目之后将项目导入IDEA 2、如何添加外部jar包 准备一个外部的jar包, 我这里使用的是guava-31.1-jre.jar作为演示 下载地址:htt...
      99+
      2023-10-25
      spring boot jar java
    • maven springboot怎么将jar包打包到指定目录
      这篇文章将为大家详细讲解有关maven springboot怎么将jar包打包到指定目录,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如何将jar包打包到指定目录1.目的将不常用的比如sprin...
      99+
      2023-06-22
    • Java如何实现将类文件打包为jar包
      目录将类文件打包为jar包1.写类文件2.编译3.测试4.打jar包jar包应该怎么打?1.首先确保你的项目2.选中你的项目,点右键3.选择runnable jar file4.如下...
      99+
      2024-04-02
    • 浅谈java项目与javaweb项目导入jar包的区别
      现在的项目基本上都是java web项目,所以导入jar包会出现问题,主要介绍一下java项目与javaweb项目的区别:java项目:在classLoader加载jar和class的时候,是分开加载的,一般jar导入分两种:在web-in...
      99+
      2023-05-30
      javaweb项目 导入 jar包
    • eclipse如何将项目打包成jar文件
      这篇文章主要介绍了eclipse如何将项目打包成jar文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。第一种:利用eclipse中自带的export功能第一种方法分两种情况...
      99+
      2023-05-30
    • idea项目代码打包为jar包的超详细步骤
      目录前言一、将所有依赖和模块代码打包为一个jar二、只将模块代码打包为一个jar总结 前言 假设我有如下简单 maven 项目 点击 File ==> Projec...
      99+
      2023-01-11
      idea将项目打包成jar包 idea 打包jar idea 打包jar
    • 使用eclipse 实现将springboot项目打成jar包
      前言: 对于经验老道的人员可以路过,但是对于经验比较少的开发者来说,不得不是一篇好的博文,可以让大家少走一些弯路和无用的思考。 下面进入正题!!! 一、首先修改eclipse运行环境...
      99+
      2024-04-02
    • 怎么将python项目打包成exe与安装包
      这篇文章主要介绍“怎么将python项目打包成exe与安装包”,在日常操作中,相信很多人在怎么将python项目打包成exe与安装包问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么将python项目打包成e...
      99+
      2023-06-25
    • 怎么使用maven将项目的test代码打包进jar中
      这篇文章给大家分享的是有关怎么使用maven将项目的test代码打包进jar中的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。maven将项目的test代码打包进jar中项目结构如下&hellip;/src...
      99+
      2023-06-29
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作