化石原创文章,转载请注明来源并保留原文链接


mac机上安装jdk 1.8, jdk10,jdk 11。写一个javafx的界面程序,因原因使用jdk11以下。

写的工程中编译工程,出现java: release version 5 not supported。

工程project structure中,以下几个地方:

1、Project Structure | Project上,Project SDK选的是10,Lauguage Level选的是8。

2、Project Structure | Modules | Sources,Lauguage Level选的是5。

3、Project Structure | Modules | Dependencies,Module SDK选的是10。

4、Platform Settings | SDKs,JDK Home path选的是10的home。

5、Other Settings | Preferences for new projects |Build,Execution,Deployment | Compiler | Java compiler | Project bytecode version,选的是same as language。

尝试把第2项里的5改成10,然后再Rebuild。发现问题依旧。回头在去看第2项的地方,发现还是原来的5,看来这个设置下面改不掉。

因为是maven的工程,于是在pom.xml加入了下面内容:

    <properties>
        <maven.compiler.source>1.10</maven.compiler.source>
        <maven.compiler.target>1.10</maven.compiler.target>
    </properties>

然后必须在pom.xml上点出上下文菜单,reimport。最后再Build |Rebuild Project,问题解决。


1、上面的步骤中,改动pom.xml后reimport是必须要注意的一点

2、添加的内容中,maven.compiler.source可以改成1.8,在上述的环境中也能成功。

3、上面的属性,对应到了工程设置2中的level。maven reimport后可以看出来两者的对应。每次pom.xml的reimport,xml文件里的版本号会影响到工程的这个设置。


化石原创文章,转载请注明来源并保留原文链接



化石原创文章,转载请注明来源并保留原文链接


mvn repository解决了很多问题,但是总有例外。比如it.sauronsoftware的base64库,虽然在库里面显示很正常,但是我就是用maven同步不到。

还好可以找到其他的地方下载到jar,还好这个jar并没有其他的依赖。只是一个jar。

下载后我们需要通过mvn安装一下,这样,通过maven建立的工程,可以直接让maven管理,打包的时候就不用自己费心来考虑这个额外的jar。

安装的命令:

mvn install:install-file -DgroupId=it.sauronsoftware "-DartifactId=javabase64" "-Dversion=1.3.1" "-Dpackaging=jar" "-Dfile=E:\lib\javabase64-1.3.1.jar"

上面假设下载的jar在e盘lib文件夹下。

这个命令后,mvn本地仓库里就有了groupId= it.sauronsoftware, artifactId = javabase64, version = 1.3.1的jar。pom里面根据这些信息就可以直接导入。


化石原创文章,转载请注明来源并保留原文链接