用OpenJAVA开发Spring Boot

首先

春季启动真的很方便啊!

如果想要开发一个规模较大的Web应用程序,我认为需要一个应用程序框架。无论是EJB、Struts还是Spring Framework,Java的框架都非常复杂。而在此时,考虑到Spring Tool Suite的易用性和Spring Boot可以快速构建出真正实用的应用程序,我认为它真的非常方便。

不过,Spring Boot的默认JDK是Oracle Java SE 8。
由于Oracle的JDK的授权条款已经改变,虽然可以免费用于开发和个人学习,但在公司业务中使用时需要注意。
因此,我考虑是否可以使用OpenJDK。

突然从结论开始

首先,我对是否能够实现很感兴趣,所以先说结论。
可以的。完全没有问题。至少在我创建的这个程度的Web应用中,
目前还没有出现问题。
所以,接下来我将介绍我的环境。

卸载Oracle JDK并安装OpenJDK。

我以前一直安装了Oracle Java SE Developer kit,因为无论如何都需要,但是我决定大胆地卸载了它。

根据Oracle Java SE的下载页面上的指引,您可以从以下网站下载OpenJDK。

http://jdk.java.net/ 的原文请参考

OpenJDK-4.PNG

下载并解压Windows/64位的zip文件,然后将其复制到Program Files¥Java目录下。

如您所见,Program Files文件夹中只安装了OpenJDK。虽然还装有版本12,但请不必在意。^^;

OpenJDK-1.PNG

我指定了OpenJDK-14文件夹作为环境变量JAVA_HOME的路径,并将OpenJDK-14的bin文件夹指定为路径中的环境变量PATH。

https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_570192_207ae955-ed4f-7908-b3f6-b49f3c418589.png

春季工具套件的配置

因为在安装时,Spring Tool Suite默认选择Java 8作为默认的JDK,所以我们需要将其更改为OpenJDK 14。

OpenJDK-8.PNG

我认为这个大概没有问题,但是如果需要编辑项目库的引用或执行环境,可能需要进行以下步骤。

添加库路径

OpenJDK-12.PNG

设置执行环境

在Spring Tool Suite中,我们可以通过「运行为」选项设置JRE。

OpenJDK-13.PNG

Maven的配置

在Maven的依赖环境配置(pom.xml)中,还有一个地方可以记录Java的版本,我们将其设为14。还要注意的是,在创建Spring Starter项目时选择Java 14,将默认设置为14。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.0.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>LoggerREST-java14</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>LoggerREST-java14</name>
    <description>Database Interface for Android</description>

    <properties>
        <java.version>14</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

运行Spring Boot

好的,设置已经完成。让我们来运行一下。
在Package Explorer中右键点击项目->[运行为]->[Spring Boot App]进行选择。
然后会出现一个OpenJDK的警告信息,提示”-Xverify:none和-noverify已经过时了哦~”。我认为当使用Spring Tool Suite执行java命令时,会指定这个选项,但是我找不到它。暂时忽略它应该没关系。^^;
实际上,我正在Qiita上上传的项目就在这个环境中运行的。

OpenJDK-14.PNG

总结

结果是,在OpenJDK 14上,Spring Boot正常运行。
我不知道为什么默认情况下使用的是Oracle Java 8,但是在开发/执行环境中,使用Oracle的正式版本并购买适当的许可证才是合适的,如果要制作和销售软件包的话。
如果考虑一下,企业应用的Linux当然会使用RHEL,并购买许可证,这是日本IT建筑业的做法……不过,近年来,我们已经远离这种开发方式,那现在的情况是怎样的呢?

本次使用的环境

    • Windows 10 Pro 1909

 

    • OpenJDK 14.0.1

 

    • Spring Tool Suite 4 Version 4.6.2.RELEASE

 

    Spring Boot v2.3.0.RELEASE
广告
将在 10 秒后关闭
bannerAds