今天看到有人把Java的jar包制作成一个可执行文件,于是乎我也试了一把,确实也挺简单的,记录一下。...; } } 编译一下这个Java文件 $ javac my/Greeting.java 先打包运行一下试试 $ jar -cef my.Greeting greeting.jar my $ java...创建一个脚本文件 greeting,内容如下: #!.../bin/sh exec java -jar $0 "$@" 将上面创建的jar文件的内容追加到 greeting 脚本中并赋予 greeting 脚本文件可执行权限,如下: $ cat ..../greeting.jar >> ./greeting $ chmod +x ./greeting 运行最终文件测试一下 $ ./greeting Hello World!
使用MyEclipse的Export功能可以方便地生成简单的Jar工具类。...具体步骤如下: 选择File -> Export,在弹出的窗口选择Java -> Runnable JAR File,如下图所示: 在Launch configuratioin 下选择相应的Java文件...,在Export destination 选择目标Jar文件的位置,如下图所示: 最后点击 Finish 即可。
第一步,进入你的.jar的当前文件夹 cd xxx 第二步 ,编辑你指定的 .jar 文件 编辑之前请先备份 cp xxx.jar xxx-1.2.jar 输入编辑命令 vim xxx.jar...第三步,找到你要编辑的文件 输入命令进入vi模式 (esc :) ..../xxxx(搜索你指定的文件) 直接回车找到你的文件 找到之后再次回车进入编辑的文件 编辑完 wq 退出 第四步重新启动项目 java -jar xxx.jar
作为一种常用的开发语言,Java经常使用可执行的JAR(Java Archive)文件来打包和分发应用程序。使用java -jar命令运行JAR文件是一种方便快捷的方式。...本文将详细介绍java -jar命令的各种参数,帮助您充分利用这个功能。 一、简介 java -jar命令用于运行可执行的JAR文件。...=256m 将元空间的最大大小设置为256MB,最后,通过-jar选项指定要运行的JAR文件为myapp.jar。...命令的常用参数、使用方法及其启动脚本,帮助您更好地掌握Java可执行JAR文件的运行技巧。...了解这些参数的功能和用法,对于开发和部署Java应用程序是非常有帮助的。 希望本文对您有所启发,并能够帮助您更好地理解和使用java -jar命令。如有任何疑问或建议,请在下方留言,我们将尽快回复。
在过去,它对性能产生了更好的影响,网页很快就对下载的小程序做出了响应。由于文件压缩被吸收到JAR文件中,它减少了文件大小,因此下载时间更短。...什么是可执行JAR文件 程序员可以将可执行的Java程序与它使用的库、图像和其他文件一起打包到JAR文件中。开发人员可以简单地以单击并运行的方式执行JAR文件。...一些操作系统允许它在单击时运行;其他人使用简单的命令行调用: $ java -jar app.jar 如何在Java中创建JAR文件 Java开发工具包(JDK)提供了一个.jar工具,用于将Java...这是由jar命令自动生成的。该文件包含一个名称-值对列表,用冒号分隔并分组为部分。 如果JAR文件只用于归档,那么这个文件没有多大用处。...这些是JAR格式的特殊扩展,但与JAR不同,EAR和WAR文件不能作为独立应用程序运行。
本文内容:在Java 9增强了JAR多版本字节码文件格式的支持,同一个Jar包可以包含多个Java版本的class文件。...一、基本使用方法 多版本的字节码发行jar包,需要在其MANIFEST.MF中做以下的声明: Multi-Release: true 在jar包的META-INF/versions文件目录里面可以包含多个版本的...如果jar包是在JDK 8的运行时环境下运行,将使用根目录下面的class文件进行程序运行。...如果jar包是在JDK 9的运行时环境下运行,将使用META-INF/versions/9/ 下面的class文件进行程序运行。...使用java 9 版本 测试字符串 在JDK 8的环境下运行这个jar包 D:\multi-release-jar-example>C:\jdk1.8.0_151\bin\java -cp my-lib.jar
一、前言 众所周知我们的jar包一般都会Linux上运行。 但总会有一些特殊情况,如网络环境、设备限制,我们开发的jar不能部署到Linux设备上,必须要部署到windows上。...有着以下的缺点: 服务器启重启后,程序无法实现自启动; 需要打开命令行窗口输入命令行才可运行,很不方便(或需要编写.bat文件); 需要停止程序时只能在任务管理器中结束,并且多个这样程序运行时无法从进程名中进行区分...这里主要讲解winsw使用方式,nssm工具使用方式也很容易,可以自行百度。 二、winsw简介 winsw是一个可以将任何应用程序注册成服务的软件。...2.3 打包jar SpringBoot项目通过执行mvn clean package命令后得到可执行jar包: test-0.0.1.jar(测试用,具体名称在pom.xml文件中定义) 2.4 修改下载的...jar包、.exe文件、.xml文件均在同一目录下) 如: 创建一个test目录,将jar包、.exe文件、.xml文件均在放在test目录下 -test --test-0.0.1.xml --test
1.运行jar包命令如下: 方式1:java -jar demo.jar 特点:CTRL + C 或 关闭ssh窗口,程序退出 方式2: java -jar demo.jar & 特点...方式3:nohup java -jar demo.jar & 特点:nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 2.结束运行的jar文件: 使用ps aux命令查看进程号...PID,执行 kill -9 PID 结束程序 前台进程,直接执行 Ctrl+c 终止运行程序 3.限制jar文件的内存使用: nohup java -jar -Xms512M -Xmx2048M...MaxPermSize:永久内存最大值 堆内存和永久内存区别以及其他参数设置,参考jvm运行机制 一般情况下执行以下命令限制JAR文件使用内存即可: 1.在后台不间断运行程序: nohup...java -jar -Xms100M -Xmx200M demo.jar 2.前台运行程序限制内存 java -jar -Xms100M -Xmx200M demo.jar
1.运行jar包命令如下: 方式1:java -jar demo.jar 特点:CTRL + C 或 关闭ssh窗口,程序退出 方式2: java -jar demo.jar & 特点...方式3:nohup java -jar demo.jar & 特点:nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 2.结束运行的jar文件: 使用ps aux命令查看进程号...PID,执行 kill -9 PID 结束程序 前台进程,直接执行 Ctrl+c 终止运行程序 3.限制jar文件的内存使用: nohup java -jar -Xms512M -Xmx2048M...MaxPermSize:永久内存最大值 堆内存和永久内存区别以及其他参数设置,参考jvm运行机制 一般情况下执行以下命令限制JAR文件使用内存即可: 1.在后台不间断运行程序: nohup java...-jar -Xms100M -Xmx200M demo.jar 2.前台运行程序限制内存 java -jar -Xms100M -Xmx200M demo.jar ---- JAVA
不管你使用的是SpringBoot 1.x版本还是SpringBoot2.x版本,在开Dev环境中使用eclipse、IEAD、STS等IDE工具,进行resource目录下文件的获取,简单的采用@Value...But,使用mvn package构建成jar文件,运行后报异常如下: ja java.io.FileNotFoundException: class path resource [ xxx] cannot...Resource下的文件是存在于jar这个文件里面,在磁盘上是没有真实路径存在的,它其实是位于jar内部的一个路径。...文本文件读取 这种情况下可以采用流的方式来读取文件,拿到文件流再进行相关的操作。...,比如xls,还是希望拿到一个文件,再去解析使用。
简介: jxl.jar是通过java操作excel表格的工具类库 jxl操作excel包括对象Workbook(工作簿),Sheet(工作表) ,Cell(单元格)。...读取Excel操作 通过Workbook,Sheet ,Cell这三个对象我们就可以实现Excel文件的读取工作。...} workbook.close(); } } 写入excel操作 通过WritableWorkbook,WritableSheet,Label这三个对象我们就可以实现Excel文件的插入工作...写在最后: 我叫风骨散人,名字的意思是我多想可以不低头的自由生活,可现实却不是这样。...你的点赞、收藏、关注是对我最大的鼓励!
> 这个示例配置会使用自定义的ProGuard配置文件,并将混淆后的JAR文件输出到指定目录。...支持加密WEB-INF/lib或BOOT-INF/lib下的依赖jar包。 支持绑定机器,项目加密后只能在特定机器运行。 支持加密springboot的配置文件。...机器绑定可同时支持机器码+密码的方式加密。 启动加密后的jar 加密后的项目需要设置javaagent来启动,项目在启动过程中解密class,完全内存解密,不留下任何解密后的文件。...不加pwd参数直接启动,启动后在控制台里输入密码,推荐使用这种方式 机器绑定只允许加密的项目在特定的机器上运行 在需要绑定的机器上执行以下命令,生成机器码 java -jar classfinal-fatjar.jar...机器绑定可同时支持机器码+密码的方式加密。
这里有许多通用和 安卓即时程序专用(AIA 意为 Android Instant Apps)的技术可以减少 APK 大小,你应该都去了解一下,但使用 ProGuard(混淆)来移除未使用的代码对 nstant...在共享的即时应用程序/可安装应用程序项目中,功能模块替换旧的 com.android.library 模块。 当构建一个可安装的应用程序时,ProGuard(混淆)会在构建过程结束时运行。...**因此,与可安装的应用程序构建相反,ProGuard(混淆)可以独立运行在每个功能模块的代码中。...为你所有的即时应用功能启用 ProGuard(混淆) 在可安装的应用程序版本构建过程中,ProGuard(混淆)只运行一次:在使用 com.android.application 插件的模块中。...更好的方法是在完整的,可安装的应用程序中重新使用 ProGuard(混淆)映射文件,但设置和维护起来很困难。更简单的方法是简单地禁用非基本特征中的混淆。
混淆(Obfuscate):使用a、b、c、d这样简短而无意义的名称,对类、字段和方法进行重命名。 预检(Preveirfy): 在java平台上对处理后的代码进行预检。...lib目录 lib目录中包含了Proguard工具对应的jar文件,其中又包含三个文件:proguard.jar,proguardgui.jar和retrace.jar。...如果将bin目录添加到环境变量中,就可以直接在命令行中执行proguard,proguardgui和retrace命令了,避免每次都要输入java -jar + proguard.jar的使用 使用proguard.jar...// 只使用配置文件 java -jar proguard.jar @myconfig.pro -verbose // 混合使用配置文件和配置选项 proguardgui.jar的使用 使用...java -jar proguardgui.jar @myconfig.pro // 使用配置文件 retrace.jar的使用 使用retrace.jar有几种方式: 1,通过命令行执行
优化代码 - 它会优化代码结构,让程序运行更快。 混淆代码 - 它会把类名、属性名和方法名改成难懂的名字,让代码变得很难看懂。...# 同上,再次指定不生成大小写混合的类名 -dontusemixedcaseclassnames # 混淆类名后,对使用Class.forName('className')等进行相应替代 -adaptclassstrings...-- 过滤输入Jar中的文件,例如不处理META-INF目录下的文件 --> !META-INF/**,!...可以尝试使用Proguard的-keep指令保留这些类。 反射相关错误:如果项目中使用了反射,确保在Proguard配置中保留相关类和方法。...运行时错误:检查混淆后的JAR包中是否有必要的资源文件,并确保它们在混淆过程中未被移除。 推荐 推荐 代码加密classfinal , 不推荐Proguard,太复杂
它可以删除无用的类、字段、方法和属性,可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。...如官方图示(看不清,懵懂就行) ProGuard 会对输入的 JAR 文件按照压缩、优化、混淆、预验证的顺序依次进行处理,最后得到输出 JAR 文件; ProGuard 使用依赖类库(Library jars...ProGuard 运行启动成功的界面如下。 ? 2. 工具而已,用就行了 ?...在 Input/Output 中,Add input 选择要混淆的 JAR 包,注意一定要添加待混淆的 JAR 包依赖的所有类库,Add output 指定输出文件名(例如 a.jar);压缩(Shrinking...保护你劳动成果的方式有很多种,本次 2 分钟简单的分享,只是让你们知道有 ProGuard 这款技术轮子存在,有太多的细节需要去实践,大家可以按需,自行按照官网进行深入使用。
阅读更多 使用LoadRunner对Tuxedo压力测试simpapp的可运行脚本 在这里看到《使用LoadRunner来测试BEA TUXEDO》 http://dev2dev.bea.com.cn.../techdoc/200312107.html 但是里面的脚本却不能用,怪事,于是自己修改了一下,如下,就可以用了:)端口自己修改一下,测试simpapp的。...= "welcome to bea tuxedo . hello yulimin 俞黎敏"; lrt_tuxputenv("WSNADDR=//localhost:9900");//对应WSL的端口
为了防止这种现象,我们可以使用Java混淆器对Java字节码进行混淆。 自己辛辛苦苦写出来的代码,被别人无情的反编译了怎么办?下面教会大家使用工具对自己心爱的代码进行加密。...四、使用proguard工具对挑选出来的特定.jar进行代码混淆 (1)通过eclipse将工程中com.stkj.action包下的所有类,打包成com.stkj.action.jar。...此.jar 用于代码混淆测试 (2)运行proguardgui.jar文件。 或者右键选择java(TM)运行。打开proguard图形界面工具。...对于复杂的混淆来说,图形界面中没有的属性,就要参考proguard提供的使用文件,按照自己想要的要求在.pro文件中配置了。其实proguard的使用关键就是编写这个配置文件。..., proguard将会按照配置文件中描述的内容,对com.stkj.action.jar 进行执行。 执行中注意出现的问题。执行成功后会有提示成功的信息。
三, 是我们的java 元素名称是在配置文件中配置好的。 所以使用proguard时,我们需要有个配置文件告诉proguard 那些java 元素是不能混淆的。...:proguard-project.txt”这行前的“#”删除即可; 2.修改混淆配置文件:找到项目根目录下的proguard-project.txt文件,修 改其中代码,这部分是最关键; 3.保存相关文件供以后出错时使用...:主要有导出的apk文件、项目根目录下 的proguard目录下的文件(主要的是mapping.txt)和项目源码; 4.项目运行过程出错处理:根据错误信息和第3步中保存的mapping定位错 误位置。...”这行前的“#”删除,最后导出即可 实现对代码的混淆,即使我们没有去编写proguard-project.txt中的内容。...剩下的也是最难 的就是proguard-project.txt文件的编写。对于这部分,两种处理策略:自 己编写和使用别人写好的。
1)、下载脚本,保存为 apktool 文件。 2)、下载最新版 apktool.jar(需要翻墙) 3)、将下载的 jar 包重命名为 apktool.jar。...此外,如果想单独对 Dex 或 jar 包 使用 R8,可以根据最上面的官方文档可以很快的在 python 环境下运行起来,其具体步骤如下所示: 1、确保本地已经安装了python 2.7或更高版本...5、下面的代码是使用 R8 在 out 目录下去生成优化后的 dex 文件: java -jar build/libs/r8.jar --release --output out --pg-conf proguard.cfg...我们都知道,JVM 运行时加载的是 .class 文件,而 Android 为了使包大小更加紧凑、运行时更加高效就发明了 Dalvik 和 ART 虚拟机,两种虚拟机运行的都是 .dex 文件,当然 ART...不同于ReDex的是它使用了运行时配置信息对 Dex 文件的各个部分进行重新排序。
领取专属 10元无门槛券
手把手带您无忧上云