项目打war包的方法 —java培训
- 格式:doc
- 大小:13.50 KB
- 文档页数:2
java打jar包的⼏种⽅式详解⼀、制作只含有字节码⽂件的jar包我们先来看只含有字节码⽂件,即只含有class⽂件的jar包怎么制作,这是最简单的形式1、最简单的jar包——直接输出hello最终⽣成的jar包结构META-INFHello.class⽅法步骤(1)⽤记事本写⼀个Hello.java的⽂件class Hello{public static void main(String[] agrs){System.out.println("hello");}}(2)⽤命令⾏进⼊到该⽬录下,编译这个⽂件 javac Hello.java(3)将编译后的Hello.class⽂件打成jar包 jar -cvf hello.jar Hello.class c表⽰要创建⼀个新的jar包,v表⽰创建的过程中在控制台输出创建过程的⼀些信息,f表⽰给⽣成的jar包命名(4)运⾏jar包 java -jar hello.jar 这时会报如下错误 hello.jar中没有主清单属性 添加Main-Class属性 ⽤压缩软件打开hello.jar,会发现⾥⾯多了⼀个META-INF⽂件夹,⾥⾯有⼀个MENIFEST.MF的⽂件,⽤记事本打开Manifest-Version: 1.0Created-By: 1.8.0_121 (Oracle Corporation) 在第三⾏的位置写⼊ Main-Class: Hello (注意冒号后⾯有⼀个空格,整个⽂件最后有⼀⾏空⾏),保存 再次运⾏ java -jar hello.jar ,此时成功在控制台看到 hello ,成功2、含有两个类的jar包——通过调⽤输出hello最终⽣成的jar包结构META-INFTom.classHello.class⽅法步骤(1)⽤记事本写⼀个Hello.java和⼀个Tom.java的⽂件 ⽬的是让Hello调⽤Tom的speak⽅法class Hello{public static void main(String[] agrs){Tom.speak();}}class Tom{public static void speak(){System.out.println("hello");}}(2)编译: javac Hello.java 此时Hello.java和Tom.java同时被编译,因为Hello中调⽤了Tom,在编译Hello的过程中发现还需要编译Tom(3)打jar包,这次我们换⼀种⽅式直接定义Main-Class。
WAR包的制作和解压过程指导目录1 说明 (1)2 WAR包的制作 (2)2.1 MyEclipse下制作War包 (2)2.2 JAR程序打WAR包 (4)2.3 Ant工具打WAR包 (6)3 WAR包的更新 (9)4 WAR包的解压 (11)4.1 WinRAR程序解压 (11)4.2 JAR程序解压 (12)1说明目前公司的很多测试环境和实施环境都采用WAR包部署的形式,所以,要求相关人员都要掌握WAR包使用。
配置人员要完全掌握WAR包的制作、使用和更新,WAR的使用可以参考《数据中心系统weblogic安装部署说明》等文档进行,本文主要讲解WAR的制作和更新过程。
鉴于在MyEclipse下进行WAR包制作均存在一定的局限性,而JDK下的JAR 程序和Ant都具备打WAR包的功能,所以,本文侧重于使用JAR程序和Ant工具进行WAR包制作和解压的说明,对于MyEclipse下的使用,则提供一般性的指导方法。
关于进入命令行窗口的说明:本文档中提供的操作多次使用到命令行窗口。
在Windows下,打开“开始 运行”,输入“cmd”后回车,即可出现如下图所示的窗口,此即命令行窗口。
详细过程见文章正文2WAR包的制作WAR包,其实是将程序进行打包后形成的一种压缩包,在目前的系统、应用中使用较为普遍。
其制作过程一般可以通过MyEclipse自带的导出功能实现,也可以使用jdk中的jar程序完成,ant也提供了打WAR包的办法,以下分别进行介绍。
2.1MyEclipse下制作War包首先需要注意的是,MyEclipse只能对Web Project类型的工程进行WAR包制作,对于我们常用的Java Project则无法进行WAR包制作。
打开MyEclipse,在【Package Explorer】中选中需要压缩的项目,点击工具栏中的“File->Export…”,在弹出的【Export】对话框上,点击选中树状图中的“J2EE->WAR file (MyEclipse)”,点击【Next >】继续,如图2.1所示:图2.1 选择导出类型在【WAR Export】对话框上选择需要压缩的项目名称,点击【Browse…】,在弹出的【另存为】对话框上选择WAR包保存的路径和名称,确认后点击【Finish】,开始进行压缩。
java⼀键部署jar包和war包⽬录java ⼀键部署 jar 包和 war 包⼀、创建打包命令 gateway-package.bat⼆、创建启动⽂件 gateway.xml三、⼀键打包并部署脚本 gateway-deploy.bat ⽂件内容四、双击打包部署 bat ⽂件 gateway-deploy.bat五、执⾏ vue 打包并且上传部署六、安装 7z 压缩⼯具并配置系统环境变量七、创建上传部署⽂件 webConfig.xml九、双击执⾏部署 vue-deploy.batjava ⼀键部署 jar 包和 war 包⼀、创建打包命令 gateway-package.bat@echo offcd /d "F:\uincall-cloud-service\uin-api-alibaba\gateway\"gradle build bootJar@echo off 关闭命令回显,当不需要 dos 命令⼀⾏⼀⾏在命令窗⼝中显⽰的时候使⽤,@echo on 显⽰命令回显例如:当为 @echo on 会显⽰执⾏的命令@echo ontitle Acolor 01echo %date%pause当为 @echo off 并不会执⾏ title A 和 color 01 命令echo 是输⼊提⽰信息pause 是暂停执⾏执⾏命令,按下任意键后会继续执⾏,pause 会提⽰“请按任意键继续...”当执⾏的 bat 不在项⽬⽬录时,需要进⼊到项⽬⽬录执⾏打包命令,需要使⽤ /d 命令,后⾯是进⼊的⽬录gradle build bootJar 是执⾏ gradle 打包命令,如果是 maven ⼯程则使⽤ maven 打包命令,例如:mvn clean package -Dmaven.test.skip=true创建项⽬打包并执⾏到上传到服务器,并且结束之前项⽬部署的进程,并启动新的部署命令⼆、创建启动⽂件 gateway.xml<?xml version="1.0" encoding="utf-8" ?><config><threadPoolSize default="5">3</threadPoolSize><!--线程池⼤⼩,如果上传服务器多的话可以调⼤,默认5个线程--><servers><server><!-- 服务器 ip --><host>1.0.0.0</host><!-- 服务器⽤户名 --><userName>root</userName><!-- 服务器密码 --><password>password</password><!-- 上传的⽂件,可以有多个 --><uploads><upload><!-- 上传的包路径 --><local>F:\uincall-cloud-service\uin-api-alibaba\gateway\build\libs\gateway-1.0.0.jar</local><!-- 上传到服务器的路径 --><remote>/root/data/callcenter</remote></upload></uploads><!-- 需要执⾏的命令,可以有多个 --><commands><!-- 结束之前部署的进程 --><command><![CDATA[source /etc/profile; ps -ef | grep gateway-1.0.0.jar | grep -v grep | awk '{print $2}' | xargs kill -9]]></command><!-- 重新部署新上传的包 --><command><![CDATA[source /etc/profile; nohup java -jar /root/data/callcenter/gateway-1.0.0.jar >> /root/data/callcenter/gateway.log 2>&1 &]]></command> </commands></server></servers></config>ps -ef | grep gateway-1.0.0.jar | grep -v grep | awk '{print $2}' | xargs kill -9 查询正在部署的项⽬进⾏并且杀死ps -ef | grep gateway-1.0.0.jar 是查询进程grep -v grep 过滤包含 grep 的进程⾏,然后再杀掉剩下的进程awk '{print $2}' 提取找到的进程⾏记录中第⼆列的参数,也就是正在执⾏项⽬的进程号xargs kill -9 把前⾯的参数都传递给后⾯的命令 kill -9三、⼀键打包并部署脚本 gateway-deploy.bat ⽂件内容call gateway-package.batjava -jar F:\uincall-cloud-service\test-deploy\javaauto.jar F:\uincall-cloud-service\test-deploy\gateway.xmlpausecall gateway-package.bat 是执⾏上⾯的项⽬打包的 gateway-package.bat ⽂件,call 作⽤是可以在当前批处理执⾏前调⽤另⼀个批处理⽂件,这⾥的意思就是先打包在上传⾄服务器并且部署java -jar F:\uincall-cloud-service\test-deploy\javaauto.jar 可执⾏⽂件 jar 包,负责执⾏上传部署指令F:\uincall-cloud-service\test-deploy\gateway.xml ,上传部署的命令都写在 gateway.xml 中注意:这⾥要执⾏的⽂件都需使⽤绝对路径,哪怕在⼀个⽂件加⾥四、双击打包部署 bat ⽂件 gateway-deploy.bat成功上传并且部署成功!!五、执⾏ vue 打包并且上传部署创建 vue 打包 bat ⽂件 vue-package.bat@echo offecho 开始打包......cd /d "F:\uincall-cloud-service\\"npm run buildecho 打包完毕 successF:\uincall-cloud-service\" 是⼯程根⽬录六、安装 7z 压缩⼯具并配置系统环境变量创建 7z 压缩 vue 打包后的 bat ⽂件 zip.bat@echo offset CALLCENTER_PATH=F:\uincall-cloud-service\\dist\*set ZIP_PATH=F:\uincall-cloud-service\deploy\callcenter.tarecho 开始压缩 callcenter vue7z a -r %ZIP_PATH% %CALLCENTER_PATH%set CALLCENTER_PATH=F:\uincall-cloud-service\\dist* vue 打包后的⽂件夹⽬录,打包后的⽂件都在此⽬录下set ZIP_PATH=F:\uincall-cloud-service\deploy\callcenter.tar 设置打包后的⽂件名和格式7z a -r %ZIP_PATH% %CALLCENTER_PATH%,7z:使⽤ 7z 压缩,a:是添加⽂件到压缩⽂件中,-r:包括⼦⽬录,其他是引⽤上⾯定义的变量,也就是打包后的格式和需要打包的⽂件所在⽬录七、创建上传部署⽂件 webConfig.xml<config><threadPoolSize default="5">3</threadPoolSize><!--线程池⼤⼩,如果上传服务器多的话可以调⼤,默认5个线程--><servers><server><!-- 服务器 ip --><host>1.0.0.0</host><!-- 服务器⽤户名 --><userName>root</userName><!-- 服务器密码 --><password>password</password><!-- 上传的⽂件,可以有多个 --><uploads><upload><!-- 上传的⽂件 --><local>F:\uincall-cloud-service\deploy\callcenter.tar</local><!-- 上传到服务器的⽬录 --><remote>/root/data/callcenter/web</remote></upload></uploads><!-- 上传成功后执⾏的命令 --><commands><!-- 添加 777 权限 --><command><![CDATA[source /etc/profile; chmod 777 /root/data/callcenter/web/callcenter.tar]]></command><!-- 解压 -C 表⽰创建新的档案⽂件,会解压到新的⽬录,默认解压到根⽬录 / --><command><![CDATA[source /etc/profile; tar -xvf /root/data/callcenter/web/callcenter.tar -C /root/data/callcenter/web]]></command><!-- 解压完删除压缩⽂件 --><command><![CDATA[source /etc/profile; rm -rf /root/data/callcenter/web/callcenter.tar]]></command><!-- 刷新 nginx --><command><![CDATA[source /etc/profile; nginx -s reload]]></command></commands></server></servers></config>创建 vue 打包部署 bat ⽂件 vue-deploy.bat,分别执⾏上⾯创建打包 vue-package.bat 压缩 zip.bat 上传部署命令webConfig.cmlcall F:\uincall-cloud-service\test-deploy\vue-package.batcall F:\uincall-cloud-service\test-deploy\zip.batjava -jar F:\uincall-cloud-service\test-deploy\javaauto.jar F:\uincall-cloud-service\test-deploy\webConfig.xmlecho 上传并解压完毕pause九、双击执⾏部署 vue-deploy.bat成功上传并解压以上就是java ⼀键部署 jar 包和 war 包的详细内容,更多关于java 部署 jar 包 war 包的资料请关注其它相关⽂章!,希望⼤家以后多多⽀持!。
start javaw用法
Java是一种广泛应用于软件开发的编程语言。
而javaw是Java Virtual Machine的一个可执行文件,它在Windows系统上运行Java应用程序时使用。
javaw与java的主要区别在于,javaw不会打开命令行窗口来运行Java应用程序。
它主要用于图形用户界面(GUI)应用程序,避免命令行窗口的干扰。
当你通过双击一个.jar文件或者运行一个已经打包成可执行文件的Java应用程序时,操作系统会默认使用javaw来运行。
使用javaw的方法与使用java的方法非常相似,只是将"java"替换为"javaw"即可。
下面是使用javaw的一些常见用法:
1. 运行一个已经编译的类文件:
javaw YourClass
2. 指定类路径运行类文件:
javaw -classpath YourClassPath YourClass
3. 指定其他命令行参数:
javaw -DpropertyName=propertyValue YourClass
除了上述的基本用法,javaw还可以配合其他选项和参数实现更复杂的功能,如设置堆内存大小、启用调试模式、启用安全管理器等。
你可以通过查阅Java官方文档或者Java IDE的帮助文档来了解更多关于javaw的用法。
需要注意的是,javaw只能用于Windows系统上,如果你在其他操作系统上运行Java应用程序,你需要使用相应的命令来执行。
java worksheet 方法在Java中,Worksheet不是内置的类或方法。
但是,如果您是在谈论Apache POI库,它是一个用于读取和写入Microsoft Office格式文件的Java库,那么您可能是想了解如何使用POI来操作Excel工作表。
下面是一个简单的示例,说明如何使用Apache POI来创建一个新的Excel 工作表:```javaimport ;import ;import ;import ;public class CreateWorksheetExample {public static void main(String[] args) throws IOException {Workbook workbook = new XSSFWorkbook(); // 创建一个新的Excel工作簿Sheet sheet = ("MyWorksheet"); // 创建一个新的工作表,并将其命名为"MyWorksheet"// 创建一行并添加单元格Row row = (0);Cell cell = (0);("Hello, World!");// 将工作簿写入文件try (FileOutputStream outputStream = new FileOutputStream("")) {(outputStream);}}}```在上面的示例中,我们首先创建一个新的Excel工作簿。
然后,我们使用`createSheet`方法创建一个新的工作表,并将其命名为"MyWorksheet"。
接下来,我们创建一行并添加一个单元格,将值设置为"Hello, World!"。
最后,我们将工作簿写入名为""的文件中。
请注意,这只是一个简单的示例,演示了如何使用Apache POI来创建新的Excel工作表。
一、搭建环境1.下载和安装JDK开发GWT应用程序之前,需要做一些准备工作。
Java环境对于开发GWT应用是必不可少的。
GWT工具包的编译需要JDK的支持,因此在安装GWT工具包之前请下载和安装合适的JDK,GWT工具要Java 5以上的版本。
具体步骤如下:第一步:下载jdk,下载地址:/technetwork/java/javase/downloads/index.html下载JDK安装程序(本培训提供jdk1.7安装包)下载后安装到E:\jdk目录下,可以根据实际情况将JDK安装到任意目录下第二步:使用鼠标右击“我的电脑”→“属性”→“高级”→“环境变量”第三步:系统变量->新建->变量名:JAVA_HOME 变量值:e:\jdk\ (该变量值是jdk的安装路径)系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;(CLASSPATH的变量值英文中有句号“.”后跟一个分号,表示当前路径的意思) 验证是否配置成功-----进入doc中、输入java和javac命令都能正常显示。
输入java -version 命令能显示jdk的版本号!就可以了提示GWT的调试器依赖32位的SWT界面库。
要在系统上调试GWT项目,必须安装32位JDK。
当然在64位JDK环境中也可以编译GWT项目2. 安装Eclipse和GWT的开发插件开发GWT只需要JDK。
但有个好的开发环境可以极大提高工作效率。
Eclipse是最流行的Java集成开发环境。
Google提供了GWT的Eclipse开发插件。
目前Google提供的插件只支持Eclipse 3.3以上版本。
打开网址/downloads/,进入到Eclipse Downloads页面选择下载Eclipse IDE for Java EE Developers。
java命令大全在Java中,可以使用许多命令来编译、运行和调试Java程序。
以下是一些常见的Java命令:1. `java`:用于运行Java程序。
例如:`java HelloWorld`将运行名为`HelloWorld`的Java程序。
2. `javac`:用于将Java源代码编译为Java字节码文件。
例如:`javac HelloWorld.java`将编译名为`HelloWorld.java`的Java源代码文件。
3. `jar`:用于创建和管理Java归档文件。
例如:`jar cvf MyJar.jar MyClass.class`将创建一个名为`MyJar.jar`的归档文件,并将`MyClass.class`添加到其中。
4. `javadoc`:用于生成Java文档。
例如:`javadoc MyPackage/*.java`将生成`MyPackage`中所有Java文件的文档。
5. `javap`:用于反汇编Java字节码文件。
例如:`javap MyClass`将显示与名为`MyClass`的类关联的字节码。
6. `jarsigner`:用于对已签名的Java应用程序和程序包进行签名和验证。
例如:`jarsigner -sign MyJar.jar keyAlias`将对`MyJar.jar`进行签名。
7. `jdb`:Java调试器的命令行界面。
例如:`jdb MyProgram`将使用`jdb`调试名为`MyProgram`的Java程序。
8. `jrunscript`:用于在命令行上运行脚本的命令。
例如:`jrunscript MyScript.js`将运行名为`MyScript.js`的JavaScript脚本。
9. `jps`:用于列出当前正在运行的Java进程。
例如:`jps -l`将列出所有Java进程的进程ID和类路径。
这只是一小部分常用的Java命令清单,Java还有许多其他命令用于不同的目的。
坦克⼤战【java项⽬】坦克⼤战(JAVA项⽬)1.项⽬简介复刻童年经典⼩游戏——坦克⼤战:⽤户进⼊游戏界⾯后,通过键盘上的数字1,2键选择游戏模式,选择1并按回车键进⼊单⼈模式;选择2并按回车键进⼊双⼈模式。
玩家1可通过按键WASD控制坦克⽅向及移动,并且按空格发射⼦弹。
玩家2通过⽅向键控制坦克⽅向移动,并且按K键发射⼦弹。
⼦弹碰到围墙后消失,⼦弹碰到坦克后产⽣爆炸特效。
左上⾓记录敌⽅坦克的实时数量。
玩家击败所有敌⽅坦克,游戏胜利;若所有我⽅坦克被击败,或者我⽅基地被摧毁,则游戏失败。
2.⼩组成员及分⼯成员负责任务组长黄抒鸿博客撰写,游戏规则的制定,碰撞检测,爆炸特效的实现,随机事件的编写组员雷正伟前期调研,⾯向对象设计,窗体绘制,闪动问题的解决,键盘事件的编写3.项⽬功能架构图与主要功能流程图3.1项⽬功能架构图3.2主要功能流程图3.3⾯向对象类设计图4.功能详解4.1 窗体绘制及添加键盘事件4.1.1 创建窗⼝·创建类继承JFrame·创建启动⽅法launch()4.1.2 为窗⼝上⾊·重写paint()⽅法,设置图形颜⾊和⼤⼩4.1.3 添加选项⽂字4.1.4 为窗⼝添加键盘事件添加内部类,实现KeyAdapter类,重写keyPressed⽅法,写⼊键盘事件,1选择单⼈模式,2选择双⼈模式窗⼝添加键盘监视器添加指针图⽚在项⽬⽂件夹下创建⽂件夹images,关于项⽬的图⽚,插件都放在这个⽂件夹内创建图⽚对象在launch()⽅法中重绘图形4.2双缓冲解决闪动问题创建⼀个图⽚Image offScreemImage = null;重写paint()⽅法创建⼀个和弹出窗⼝宽⾼相同的图⽚,获取该图⽚的图形对象,把所有内容添加到该图⽚中//创建和容器⼀样⼤⼩的Image图⽚if(offScreemImage == null) {offScreemImage = this.createImage(width,height);}//获的该图⽚的图形Graphics gImage = offScreemImage.getGraphics();gImage.setColor(Color.GRAY);gImage.fillRect(0, 0, width, height);//添加游戏选项gImage.setColor(Color.BLUE);gImage.setFont(new Font("仿宋", Font.BOLD, 50));if (state == 0 ) {gImage.drawString("选择游戏模式", 220, 100);gImage.drawString("单⼈模式", 220, 200);gImage.drawString("双⼈模式", 220, 300);//绘制指针gImage.drawImage(select, 160, y, null);} else if (state ==1 || state ==2) {gImage.drawString("游戏开始", 220, 100);if (state ==1) {gImage.drawString("单⼈模式", 220, 200);} else if(state ==2) {gImage.drawString("双⼈模式", 220, 200);}}4.3⾯向对象设计游戏⽗类:坦克类:玩家⼀和玩家⼆玩家2和玩家1的⽅法都是⼀样的,只需要修改键盘事件。
maven-war-plugin详解-概述说明以及解释1.引言1.1 概述概述Maven-war-plugin是Maven项目中非常重要的一个插件,它主要用于构建war包项目。
在传统的Java Web项目中,通常会将Java源代码编译为class文件,并将静态资源、配置文件等打包成war包进行部署。
而Maven-war-plugin插件的作用就是帮助开发者在Maven项目中自动化地完成这些构建和打包的工作。
通过配置Maven-war-plugin,开发者可以方便地指定项目的Web 资源目录、编译输出目录、依赖项等信息,从而在执行Maven构建命令时,自动生成符合Java Web项目规范的war包文件。
这样一来,开发者就可以更加高效地进行项目开发、构建和部署工作。
在本文中,我们将详细介绍Maven-war-plugin的配置方式、常用功能和注意事项,希望能够帮助读者更加深入地了解和应用这个重要的Maven插件。
1.2 文章结构文章结构部分主要包括文章的整体框架和组织结构,帮助读者理解文章的内容安排和逻辑展开。
本文分为引言、正文和结论三个部分。
引言部分包括概述、文章结构和目的。
其中,概述介绍了文章要探讨的主题,文章结构介绍了文章的整体框架,目的阐述了写作此文的初衷。
正文部分包括Maven简介、Maven的生命周期和Maven War插件的作用。
介绍了Maven的基本概念和使用方法,Maven的生命周期分析了Maven项目的各个阶段和执行顺序,War插件的作用详细介绍了Maven War插件在项目构建中的重要作用。
结论部分包括总结、应用与实践和展望。
总结部分对文章的内容进行简要概括,应用与实践部分讨论了Maven War插件在实际项目中的应用场景和注意事项,展望部分展示了未来Maven War插件的发展方向和可能的改进方向。
通过以上结构安排,本文将全面解析Maven War插件的详细内容,为读者提供深入了解该插件的机会和方式。
最近好忙好忙,整理下心情给大家分享下自己在工作中遇到的一点小技巧,希望给遇到同样麻烦的同学一点帮助。
我们知道Java项目打war包可以在Eclipse和MyEclipse工具中自动打包,就是右键,然后导出war 包就可以了,可是我发现我的一个项目打war包的过程中遇到点小麻烦,导出的war包打开之后,里面少了很多东西,明显有问题。
那怎么办呢,网上搜了许多偏方都没效果,请教同事,大家也没遇到过这种状况。
除了这种方法,我们可以运用DOS命令来手工打war包:
首先,打开DOS命令行,敲入“jar”,我们发现它提示不是内部或外部的命令这样的错误,这时八成是你的JAVA环境没有配置好,我们可以用JAVA_HOME方式或者直接在Path路径里配置,等配置好,(注意你的JDK版本,里面有jar.exe和java c.exe的版本适合)我们再敲入"jar",会出现如下效果,说明配置成功。
下面我们用DOS命令进入到你的项目中
好现在我们来运行命令手工打包
回车键入,等待它自动执行完:
OK,打包完成,现在我们来看下目录下的war包
已经打好了,我们放到Tomcat的Webapps下,启动tomcat,自动解压完成。
OK,大功告成。