草庐IT

executable-jar

全部标签

c++ - 使用作用域对象实现 "execute-around"习惯用法是否滥用?

作用域对象(在构造函数和析构函数中实现了补充逻辑)是否应该仅用于资源清理(RAII)?或者我可以使用它来实现应用程序逻辑的某些方面吗?前一段时间我问了关于FunctionhookinginC++的问题.结果是Bjarneaddressedthisproblem他提出的解决方案是创建一个代理对象来实现operator->并在那里分配一个作用域对象。“之前”和“之后”分别在作用域对象的构造函数和析构函数中实现。问题是析构函数不应该抛出。因此,您必须将析构函数包装在try{/*...*/}catch(...){/*empty*/}block中。这严重限制了处理“之后”代码中的错误的能力。作用

java - JNI FindClass 找不到使用 jar 的类

我正在开发一个项目,其中一些Java函数必须使用JNI从C++代码中调用。我已经尝试使用一个简单的Java类,但是当我开始在我的Java项目中使用额外的.jar时,JNI的FindClass函数找不到我的类。我做了一些研究并阅读了有关classpath的内容,如果它使用额外的库,编译.java文件需要它,但是FindClass返回null那种情况。这是我的代码的基本结构JavaVMOptionoptions[2];JNIEnv*env;JavaVM*jvm;JavaVMInitArgsvm_args;longstatus;jclasscls;jmethodIDmid;jintsquar

jar to dmg app/windows .exe可执行文件打包方法

最近用JFrame做了一个javajarUI界面应用程序, 查资料发现网上大部分的文章都是使用antbundle方式打包,结果测试,这个方式在新版macos中已经失效, 打包后的app根本无法运行. 最新可用的命令行方式打包jar到可执行app应用的方法如下:1.使用packr打包 这个打包的文件相对 jar2app打包的方式文件要小很多,而且使用也很方便,下载jar  Releasev4.0.0·tekintian/packr·GitHub 文件后即可直接使用地址: https://github.com/tekintian/packr使用方法:java-jarpackr-all.jar\--

开箱即用之 解决 SpringBoot java -jar 没有主清单属性

如果你的项目是SpringBoot项目是多模块的,比如我的,在最外层使用pom作为整个项目的父项目,后面添加的模块是maven模块,然后选择其中一个作为主启动模块,将springboot相关的启动类和yml文件放进来,后面这个就是项目的启动入口。遇到的问题:将项目打包完之后,只有几十kb,且在服务器上使用java-jarxx.jar运行时,报错提示xx.jar中没有主清单属性解决方法:将最外层pom文件里的打包插件去掉,你项目主启动类在哪,就把打包的插件依赖放在哪。org.springframework.bootspring-boot-maven-plugin2.7.5repackage注意:

解决在eclipse2021中,用mysql-connector-java-8.0.18.jar不兼容,导致无法访问数据库问题

1.环境场景组件版本mysql5.7.44mysql-connector-java80.182.问题描述报mysql-connector-java驱动连不上mysql数据库。3.可能的原因分析查看数据库连接句柄是否对如果数据库连接句柄中没有useSSL=false的话可能会导致这样的问题。就像下面这样:jdbc:mysql://127.0.0.1:3306/springboot003ds?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&s

c++ - 继承层次结构 : Constructor & Destructor execution sequence

在这里http://www.parashift.com/c++-faq-lite/multiple-inheritance.html[25.14]节说Theveryfirstconstructorstobeexecutedarethevirtualbaseclassesanywhereinthehierarchy.我尝试使用以下程序验证它:A(purevirtual)|B|C(virtual)/\(virtual)ED\/F|G(purevirtual)|H每个类都有一个c'tor和virtuald'tor。输出如下:ABCEDFGH~H~G~F~D~E~C~B~APressanyke

java - 使用C++将类文件转换为jar文件

是否可以使用C++代码将.class文件转换为.jar文件?(即我们可以用c++编写代码,在执行时将给定的.class文件转换为.jar文件)如果是,我该怎么做? 最佳答案 .jar文件只是包含.class文件和可能的list文件的ZIP存档。(list文件中最重要的部分是要使用java-jar运行的类的名称。)在C++中,您可以很容易地从.class文件生成.jar文件,方法是使用可以生成ZIP存档文件的库。如果您不关心压缩ZIP文件所节省的大小,您可以轻松创建未压缩的ZIP文件,甚至无需使用库。ZIP格式已记录在案,例如这里:h

Java运行时jar时终端输出的中文日志是乱码

运行Jar时在控制台输出的中文日志全是乱码,这是因为cmd/bash默认的编码是GBK,只要把cmd的编码改成UTF-8即可 两种方式修改:临时修改和注册表永久修改临时修改只对当前的cmd页面有效,关闭后重新打开都会恢复成GBK,打开cmd,输入以下命令chcp65001这样既可以更改cmd的编码为UTF-8了。以下是常用的cmd编码字符编码对应字符GBK(默认)936美国英语 437utf-865001这时候我们可以将运行Jar时,指定编码参数java-Dfile.encoding=utf-8-jarproject.jar这时候已经恢复正常了为了方便也可以把修改编码和运行jar服务编写成ba

window启动jar方式

先准备一个可以运行的jar包,随便放那个磁盘都可以的第一种启动方式直接启动,日志输出到控制台java-jarslipper-backstage-2.0.0.jar效果:直接启动,日志输出到指定的文件中java-jarslipper-backstage-2.0.0.jar>D:\测试jar包\server.log2>&1&注释:表示日志输出到其他地方。D:\测试jar包\server.log日志输出的具体的路径。2>&1这个自己去百度查下,0,1,2都有表达的意思【0标准输入一般是键盘,1标准输出,2错误输出】2>&1就是用来将标准错误2重定向到标准输出1中的。&表示后台运行效果:这种启动方式,

c++ - 使用 'g++' 结果为 "warning: will never be executed"

我继承了一个C++项目。我在RHELbuild5.5与GCC4.1.2通过makefile。该项目很大(数百个文件),总的来说代码还不错。然而,在编译过程中,我经常收到一个GCC警告,上面写着(prefix"/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../../include/c++/4.1.2"):/bits/allocator.h:Inconstructor‘std::allocator::allocator()[with_Tp=char]’:/bits/allocator.h:97:warning:willneverbeexecuted