Java Cryptography Extension (JCE) Unlimited Strength https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html 受美国政府强加密算法出口管制限制而不提供源代码。 美国政府对涉及到加密算法和强加密的软件技术产品进行出口管制和限制,基于这个法律的要求,JDK 不能提供有关强加密的源代码。
Java Cryptography Extension (JCE) Unlimited Strength https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html 受美国政府强加密算法出口管制限制而不提供源代码。 美国政府对涉及到加密算法和强加密的软件技术产品进行出口管制和限制,基于这个法律的要求,JDK 不能提供有关强加密的源代码。
在对某些仓库进行 Git Clone 的时候遇到了 Filename too long 的错误提示。 错误提示如下图: 可以有下面的一些解决办法: 在 Git bash 中运行下面的命令,来进行 git 配置的全局修改: git config --system core.longpaths true 在 Clone 仓库出现上面的错误后,进行已经克隆的目录中,然后找到 .git 目录的 config 文件。 添加 longpaths = true 这个配置。 然后重新删除已经克隆的目录中除了 .git 的所有目录。 然后再重新 checkout branch。 第 3 种办法就是在 Check out 的时候添加参数。 例如使用下面的命令进行 check out。 在 Clone 的时候添加 -c core.longpaths=true 参数。 例如使用下面的命令进行 clone git clone -c core.longpaths=true "https://src.ossez.com/spring/spring-boot.git" "C:\WorkDir\spring-boot" 你应该能够没有问题的解决这个问题。
打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/reference/html/deployment.html 请注意,在部署为 systemd 服务的时候,上面的配置文件为: [Unit] Description=myapp After=syslog.target [Service] User=myapp ExecStart=/var/myapp/myapp.jar SuccessExitStatus=143 [Install] WantedBy=multi-user.target 你需要自行修改 Description, user, ExeStart 字段中的内容。 请注意,官方的配置可能不是非常正确。 假设我们的可执行 Jar 文件名为:reoc-mls-service-importer.jar 这个文件部署在:/home/reoc/reoc-mls-service-importer/reoc-mls-service-importer.jar 路径下。 如果你配置 ExecStart 为: ExecStart = /home/reoc/reoc-mls-service-importer/reoc-mls-service-importer.jar 你是没有办法运行的。 你需要配置为: ExecStart=/usr/bin/java -Xmx2048m -jar /home/reoc/reoc-mls-service-importer/reoc-mls-service-importer.jar 才可以。 其中 -Xmx2048m 是为这个进程指定分配的内存大小。 你也可以不分配内存,去掉这个参数也是可以的。
比如在JAVA后端开发中?它的应用场景是什么?用得多吗? 使用线程就会遇到线程同步的问题。 Java 使用线程比较多,但是有时不是多线程就处处是有点的。有些东西可以多线程,有些东西就不可以。 比如我们现在使用非常多的 MQ,就必须要求使用多线程。
在 Gradle 中如何在打包的 Jar 中不包含版本代码? 在 bootJar 中,使用下面的代码进行打包不包含版本代码。 archiveFileName = "${archiveBaseName.get()}.${archiveExtension.get()}" 上面的代码将不会打包版本号码 完整的代码如下: bootJar { archiveFileName = "${archiveBaseName.get()}.${archiveExtension.get()}" }
如何在 Gradle 中配置一个项目可以打包为 Spring Boot 可执行 Jar? 你首先需要添加到 org.springframework.boot 到插件中: 例如下面的代码: plugins { id 'maven-publish' id "org.asciidoctor.convert" version "2.3.0" id 'org.springframework.boot' version '2.1.4.RELEASE' } 然后应用插件,使用下面的代码: apply plugin: 'io.spring.dependency-management' 在 Build 界面中添加 bootJar 参数。 bootJar { baseName = 'reoc-mls-service' version = '0.1.0' } 例如上面的参数,当添加上面的参数后,我们的打包程序的 Jar 将会命名为: reoc-mls-service-0.1.0.jar
系统提示错误信息: Received status code 409 from server: Overwriting released artifacts is not allowed. 这是在 Archiva 默认的配置下如果你不是使用 snapshot 配置的话,是不允许对仓库进行重新部署的。 你可以手动修改 Archiva 的配置能够允许你对仓库进行重新部署,但是我们不建议你这样做。 对于非正式版的发布,你可以使用 snapshot。 配置的位置在你的 Archiva 仓库的配置中。
有时候我们希望将我们的jar 开发包发布到 Archiva 中。 如何配置 Gradle 的编译脚本呢? 首先你需要启用 Gradle 的 Maven-publish 插件。 plugins { id 'maven-publish' } 如上面的代码,你需要确保你的插件已经启用了。 然后在脚本中添加下面的代码: publishing { publications { maven(MavenPublication) { from components.java artifact sourcesJar artifact javadocJar } } repositories { maven { credentials { username 'username' password 'password' } def releasesRepoUrl = "url to archiva" def snapshotsRepoUrl = "url to archiva" url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl } } } 上面的脚本有 2 部分的内容, 第一部分是对源代码进行编译。 第二部分是将编译的 jar 推送到 archiva 中。 在这里,你需要指定 archiva 的用户名和密码,这个用户能够具有 archiva 的相关权限。 随后在项目中运行命令: gradle publish 就可以进行编译后将包发送到 Archiva 中了。
jenkins 在创建新的 Build 的时候希望邮件进行通知。 但是邮件通知的时候出现错误: Unable to Send Mail - javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? 这个很有可能是在你配置 jenkins 邮件服务器的时候选择了 SSL 你可以取消选择 SSL。 配置的路径在配置界面中的配置系统上。
Archiva 的界面和 UI 比较容易出问题。 在添加用户和为用户进行权限修改的时候,不小心连 admin 这个用户的权限都删掉了。 这个时候应该如何恢复 admin 这个用户的权限? 这个时候你可以尝试删掉 Archiva 安装路径下的用户数据库。 你可以执行下面的命令: mv users{,.old} 假设你的 archiva 是安装在 /opt/archiva 路径下的话。 那么 /opt/archiva/data/databases 路径下将会有一个 user 的目录。这个目录是存储所有的用户数据信息。 你可以直接将 user 目录删除,或者备份到别的目录下后重启 Archiva。 Archiva 发现没有 user 目录的话,将会重新创建,并且要求你输入 admin 用户的信息。