File >Project Structure Artifacts >> JAR >> From……. 第一,选择要打包成jar包的class(对应图中1) 第二,将依赖包一起打包(对应图中2,选择这个) 第三,将依赖包一起下载(对应图中3) 第四, 这是生成 META-INF文件的路径,不能是默认路径,一般直接把src后面的路径删掉就行。 最后点击OK 此时在这里会有META-INF文件,如果选择默认路径这里是没有这个文件的,该文件是指向要运行的class的。 然后右击左上方的JAR文件,选择ADD copy of >>>> Libraby 选择需要的jar包,然后点OK 然后点击上面的Build >> Build Artifacts… 点击Build 此时jar包就会生产在项目的out目录下 此时运行可能会出现 找不到或无法加载主类 的问题 解决办法 借鉴:启动jar包报错: 找不到或无法加载主类亮一点的博客-CSDN博客运行jar包找不到或无法加载主类 打开jar包找到META-INF 原文写 删除jar包META-INF目录下的.SF .DSA ,RSA 后缀文件,但是我只删除了DSA文件就可以了 from:https://zhuanlan.zhihu.com/p/558914730
View DetailsError:(39,24) java: constant string too long 问题解决: file -> setting -> build, execution, deployment -> compiler -> java compiler -> user compiler: 选择 Eclipse 保存即可;(原本是 javac) from:https://www.cnblogs.com/xj63183/p/15868267.html
View Details反序列化保持字段顺序
1 2 3 4 |
JSONObject respondeBodyJson = JSONObject.parseObject(jsonStr, Feature.OrderedField); // 初始华有序对象 JSONObject retObj = new JSONObject(true); |
序列化保持字段顺序
1 2 3 4 |
JSON.DEFAULT_GENERATE_FEATURE &= ~SerializerFeature.SortField.getMask(); // 序列化时加上参数 String result = JSON.toJSONString(data, new SerializeConfig(true)); |
保留null值的序列化
1 |
String dataStr = JSONObject.toJSONString(dataJSON,SerializerFeature.WriteMapNullValue); |
View Details
非对称加密算法中,提供一个公钥一个私钥。一般情况下,采用公钥加密、私钥解密的方式。 假设有这样一个场景:服务A与服务B需要通信,通信内容为了安全需要进行加密传输,并且服务A与服务B不能互相持有对方的钥匙。
View Details注意:Aop一定要设置在你操作语句之前,不然不会生效,还有必须是同一个SqlSuagrClient才会有效
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public async Task<dynamic> GetNoPagingList([FromQuery] YkzptSafecompanypromiseListQueryInput input) { //每次Sql执行前事件 _db.Aop.OnLogExecuting = (sql, data) => { var n1 = sql; }; var data = await _db.Queryable<YkzptSafecompanypromiseEntity>() .WhereIF(!string.IsNullOrEmpty(input.warehouseId), p => p.WarehouseId.Equals(input.warehouseId)) .Select(it => new YkzptSafecompanypromiseListOutput { id = it.Id, warehouseId = it.WarehouseId, promiseDate = it.PromiseDate, mainPerson = it.MainPerson, promiseContent = it.PromiseContent, companyStateInfor = it.CompanyStateInfor, }).MergeTable().OrderBy(sidx + " " + input.sort).ToListAsync(); return data; } |
全局
1 2 3 4 5 6 7 8 9 10 11 12 |
public DbContext() { Db = Instance; //调式代码 用来打印SQL Db.Aop.OnLogExecuting = (sql, pars) => { string s = sql; Console.WriteLine(sql + "\r\n" + Db.Utilities.SerializeObject(pars.ToDictionary(it => it.ParameterName, it => it.Value))); Console.WriteLine(); }; } |
from:https://www.cnblogs.com/canfengfeixue/p/15649378.html
View Details目录 一、主方法 二、Java实现hello world 三、用static修饰的方法就是静态方法 四、编译java文件 1、通过javac编译java文件 2、执行编译后的java文件 3、如何运行class文件中的main方法 五、数据类型 1、四种整型 2、浮点型 3、char 4、boolean 六、数据类型默认值 1、基础数据类型默认值 2、代码实例 七、大数值 八、装箱与拆箱 九、特殊的转义字符 一、主方法
1 2 3 |
public static void main(String[] args) { } |
在main中使用了两个修饰符public和static,public修饰符使它可以从应用程序的任何地方访问被访问,静态修饰符使它成为一个类方法,可以直接用类名进行调用。 返回值为void,因为这个访问不需要返回值。 它的名字是main,参数是String[] args。 二、Java实现hello world 需要插图 三、用static修饰的方法就是静态方法 需要插图
1 2 3 4 5 6 7 8 9 10 11 |
package com.nezha.javase; public class Test { private void test(){ System.out.println("你好,我是哪吒"); } public static void main(String[] args) { Test.test(); } } |
可以使用类名.方法名的形式访问static方法,但是不能访问非静态方法。 四、编译java文件 1、通过javac编译java文件
1 |
javac Test.java |
编译后的文件Test.class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // package com.nezha.javase; public class Test { public Test() { } public static void main(String[] var0) { System.out.println("hello world"); } } |
2、执行编译后的java文件
1 |
java Test |
输出结果:hello world 3、如何运行class文件中的main方法 假设如下目录有个class文件,并且里面有main方法: E:\nezha\JavaseProject\com\nezha\javase\Test.class 首先进入cmd命令行:
1 2 3 |
cd /d E:\nezha\JavaseProject java com\nezha\javase.Test |
也可以带参数运行:
1 |
java com.nezha.javase.Test com.nezha.javase.Test nezha |
五、数据类型 Java是一种强类型的语言,有8种基本类型,其中4种整型,2种浮点型,1种用于表示Unicode编码的字符单元的字符类型char、1种boolean型。 1、四种整型 int 4字节 -2147483648~2147483647 short 2字节 -32768~32767 long 8字节 很大很大 byte 1字节 -128~127 通常情况下int最常用,byte和short类型用于特定的应用场合,例如底层的文件处理或需要控制占用存储空间量的大数组。 长整型有一个后缀L或l(如123456789L)。十六进制数值有一个前缀0x或0X(如0xFFFF)。 八进制有一个前缀0,例如010表示八进制中的8。 2、浮点型 double 8字节 float 4字节 double的数值精度是float的两倍,double一般也可称作双精度浮点型。 一般都使用double,不使用float。 3、char char类型表示单个字符。 char类型的字面量值要用单引号括起来。 例如’A’是编码值为65所对应的字符常量。它与"A"不同,"A"表示一个字符串A。 char类型可以表示为十六进制值,范围从\u0000到\Uffff。 4、boolean boolean类型只有两个值,true和false。 […]
View Details在springcloudconfig的集群项目中,内网的服务器不能访问外网,搭建一个外网代理服务器,内网下的项目需要找云服务器上的配置文件时可能会出现寻找配置文件时出不了外网的情况。这时需要在项目中配置http的正向代理。
View Details编译Spigotmc服务端时,由于网络原因总是失败,git和shell也均配置了代理,实际编译过程中还是遇到各种网络问题报错,如:java.net.SocketTimeoutException: Connect timed out之类的,怀疑是BuildTools.jar包执行过程中并没有走代理导致,因此尝试给jar包指定代理。亲测可用,jar包也走了代理,所有网络访问畅通无阻。 命令:
1 |
java -Dhttp.proxyHost={IP} -Dhttp.proxyPort={PORT} -Dhttps.proxyHost={IP} -Dhttps.proxyPort={PORT} -jar BuildTools.jar |
例如:
1 |
java -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=1081 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=1081 -jar BuildTools.jar |
from:https://xuchaoji.com/index.php/archives/290/
View Details目标
创建Web项目的目录结构
可以启动Tomcat服务器
编写Servlet并访问成功
问题
IDEA社区版没有创建Web工程的选项
IDEA社区版没有Tomcat插件