在 2021.3 版的 intellij 这个配置换了地方了。 进入你需要运行的项目,单击编辑运行配置,然后选择 Modify Options,然后选择 shorten command line 然后在弹出的对话框中选择如何将命令行进行调整。 然后再单击运行就可以解决命令行运行的问题了。 https://www.ossez.com/t/intellij-2021-3-shorten-command-line/13881
在 2021.3 版的 intellij 这个配置换了地方了。 进入你需要运行的项目,单击编辑运行配置,然后选择 Modify Options,然后选择 shorten command line 然后在弹出的对话框中选择如何将命令行进行调整。 然后再单击运行就可以解决命令行运行的问题了。 https://www.ossez.com/t/intellij-2021-3-shorten-command-line/13881
根据我们的理解,如果要在 Discourse 中删除标签的话,首先你的标签应该是没有使用的。 访问你网站的 /tags 页面。 你将看到下面的的界面,在这个页面中有你所有使用的标签。 在shangm上面的标签显示页面中,单击上面的工具按钮。 然后选择删除不使用的标签就可以了。 通过这样的选择,你就可以在你的系统中删除不使用的标签了。 https://www.ossez.com/t/discourse/13876
我们都知道 PHP 运行需要的环境通常被称为 AMP。 其中 A 是 Apache 应用服务器,M 是 Mysql,P 就是 PHP 了。 实际上,很多人可能会使用一个测试 Mysql,但是针对一些小型开发,你可能需要安装 Mysql 到你的本地计算机上。 一般的配置方法就是分别下载安装软件然后进行安装。 我们这里介绍的是 xampp。 xampp 的安装 xampp 将你所需要的软件都集中在一起了。 你不再需要到处下载软件,你只需要安装 xampp 就可以了。 当然你可以将 xampp 安装成服务,在 Windows 每次启动的时候自动启动,同时你也可以使用 xampp 编便携版本,通过这个便携版本,直接使用命令工具就可以启动 3 个服务了。 当你不需要进行 PHP 开发的时候,直接关闭这个进程就可以了,可以节约不少系统资源。 下载地址 XAMPP 的下载地址为: Download XAMPP 进入上面进行下载就可以了,如果你的系统比较老,你可能还需要选择不同的版本,你可以通过单击下面的更多下载来下载不同的版本。 然后在更多下载中,针对你操作系统,选择不同的版本。 我们这里选择的是 Windows 的版本。 然后还可以选择不同的压缩格式。 7zip 或者 zip 都行。 解压 将下载的压缩包解压到目录中。 需要注意的是,这里你需要解压到根目录中。 例如,如果你希望在 C 盘下运行 xampp ,那么这个文件夹应该在 C 盘下,而不在其他的目录下。 路径为 c:\xampp,同样的,如果你希望在 D 盘下运行,那么这个解压目录就应该为 d:\xampp。 这是因为 xampp 定义的配置文件和目录都是从根目录下的绝对路径。 否则的话,你的 xampp 是没有办法运行的。 运行 你可以将 XAMPP 安装成服务,或者直接运行也行。 直接单击选择 xampp_start.exe 来直接运行就可以了。 然后将会弹出一个窗口,在这个窗口中将会显示你运行的 xampp 的信息。 校验安装 通过浏览器访问你的 localhost 如果你能看到下面的界面,就说明安装配置已经完成了。 至此在 Windows 的配置已经完成了。 https://www.ossez.com/t/windows-php/13875
在命令行工具中运行 Dropwizard 项目的命令为: java -jar target/target-1.0-SNAPSHOT.jar server config.yml 在上面命令中,我们添加了 2 个运行参数和命令 server config.yml IDEA 因此,如果你需要在 IDEA 中也能够运行项目。 你需要在项目中添加上面的 2 个参数和命令。 如果上图显示中的位置来添加你的参数和命令。 随后就可以在控制台中看到你项目的运行了。 https://www.ossez.com/t/intellij-idea-dropwizard-api/13869
针对 Maven 项目,我们可能会根据项目需要生成一些代码。 比如说 protobuf,这部分代码不是在 src 目录中的,而是在 target 文件夹中的。 这个时候我们需要使用到 ·generator source and update all projects 这个选项。 位置 这个选项位于下面的这个位置。 在导入完所有的代码后,单击这个选项然后生成需要的代码就可以了。 在 IntelliJ IDEA 的 Maven 编译选项中有一个针对生成文件夹的字段选择选项。 在这里你需要默认的自动侦测就可以了。 如果没有的话,你可能需要手动添加下。 https://www.ossez.com/t/intellij-idea-maven/13868
在默认安装的时候 IntelliJ IDEA 是不显示工具栏的。 我们可以在安装完成后显示工具栏。 如果上面图所示。 解决办法 可以单击在 View 视图中,选择显示,然后选择显示工具栏即可。 通过上面的选项就可以完成显示了。 https://www.ossez.com/t/intellij-idea/13867
假设我们有一个 proto 文件命名为:simple.proto simple.proto 的代码在 https://github.com/cwiki-us-demo/protocol-buffers-demo-java/blob/master/src/main/proto/simple.proto 页面中可以访问到。 你可以 Clone 项目到本地后进行执行。 你可以通过运行下面的命令来将 simple.proto 文件为基础生成一个 Java 对象 protoc --proto_path=src --java_out=src/main/java src/main/proto/simple.proto 生成结果如果正常的话,应该是没有输出的。 然后你访问特定的文件夹后就可以看到生成的 Java 对象。 生成的文件的路径和文件在 com.insight.demo.protocolbuffers.mode 这个包中。 请注意,你不能对手动对这个文件进行编译,这个文件都应该是通过程序自动生成的。 https://www.ossez.com/t/protocol-buffers-java/13865
本文主要介绍 protobuf 编译器在 Windows 下的安装 下载编译器 访问 Releases · protocolbuffers/protobuf · GitHub 链接然后针对不同的操作系统下载最新的编译器版本。 下载完成后到本地计算机上找到这个文件并且解压。 解压文件 然后将下载的压缩文件解压到 D:\Dkits\protobuf 文件夹中。 当然你也可以解压到不同的文件夹中。 解压后的文件夹目录如下。 设置 PATH 当完成下面解压后,你可以将文件所在的 bin 目录中设置到 PATH 里面。 上面就是设置好的 PATH 目录。 然后保存退出。 校验安装 在命令行工具中,运行命令: protoc --version 如果能够看到版本输出的话,就说明你的 protoc 已经被正确的配置到操作系统中了。 如上图,我们能看到正确的版本输出。 https://www.ossez.com/t/protobuf-windows/13864
完整的异常信息如下: 12:00:50.310 [http-nio-8080-exec-5] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception com.fasterxml.jackson.core.JsonParseException: Unexpected character (' ' (code 160)): was expecting double-quote to start field name at [Source: (String)"{ "action": "dom", "dom": "P1D", "pageSize": 100, "page": 0 }"; line: 2, column: 2] 上面的错误提示为输入的 JSON 数据不正确,没有办法处理。 问题和解决 这个问题困惑了我们很久。 原因后来发现在输入的 JSON 格式,不知道什么原因使用了双引号。 我们使用的是 POSTMAN 发送的数据。 后来,我们修改了数据使用的格式为 JSON 格式。 然后再将数据发送到后台就没有这个问题了。 这个问题的原因我们认为是 HTTP 请求的格式定义导致了后台的 Spring 处理逻辑没有办法处理输入的字符串,在进行 JSON 格式数据转换的时候出错了。 https://www.ossez.com/t/java-post-json-code-160-was-expecting-double-quote-to-start-field-name/13863
通常我们在 OOP 设计中都会使用到继承。 但是在继承对象之间的强制转换可能会遇到 java.lang.ClassCastException 异常的错误。 错误的日志如下: 19:58:25.010 [http-nio-8080-exec-5] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.ClassCastException: class com.ossez.usreio.mls.common.models.response.ListingResponse cannot be cast to class com.ossez.usreio.mls.common.models.response.ListingDetailResponse (com.ossez.usreio.mls.common.models.response.ListingResponse and com.ossez.usreio.mls.common.models.response.ListingDetailResponse are in unnamed module of loader org.springframework.boot.loader.LaunchedURLClassLoader @4ee285c6)] with root cause java.lang.ClassCastException: class com.ossez.usreio.mls.common.models.response.ListingResponse cannot be cast to class com.ossez.usreio.mls.common.models.response.ListingDetailResponse (com.ossez.usreio.mls.common.models.response.ListingResponse and com.ossez.usreio.mls.common.models.response.ListingDetailResponse are in unnamed module of loader org.springframework.boot.loader.LaunchedURLClassLoader @4ee285c6) 问题和原因 这个问题出现的原因就是继承类之间强制转换的错误。 同时这个错误是运行时错误,不是编译错误,因此你编译的时候是没有这个错误的。 考察下面的代码: Parent b = new parent(); Child c = (Child) b ; 采用该方法不能实现对象类型由超类向子类的转换。 上面的原因是父类的对象是由父类创建的,然后你尝试将父类创建的对象强制转换到子类中。 因为父类创建的对象和子类需要创建的对象分别使用不同的地址空间,那在转换的时候将会出现地址空间引用的错误,因此 JVM 会认为你将 2 个完全不同类型的对象进行转换,这个时候出现上面的运行时错误。 要解决这个问题的办法就是在创建父类的时候使用子类来创建,并且强制将创建的父类转换为子类就可以了。 使用这种创建方法就能保证使用相同的地址空间。 将上面的语句改成: Parent b = new Child (); Child c = (Child) b ; 就可以了。 https://www.ossez.com/t/java-java-lang-classcastexception/13862