1.如何设置工程(指定Project)的SDK?
原项目的相关信息如下
接下来我修改它的项目名称为project-modify
,指定该项目使用JDK1.7
,并且设置该项目生成Class文件的目录为D:\IdeaProjects\project1\out
目录,这里需要注意的是在Project language level中一般要选择与JDK一致的等级.
注意,虽然我们是通过Project Structure来设置,但是下面的platform settings任然是对全局的设置.
2.IDEA中各种Setting的区别
- Settings:
IDEA中所有的常用设置都在Settings中: 主题,字体,…但是Settings中的设置时这对当前,当然有一部分全局的设置会同步到全局设置中. - Setting for New Project :
Setting for New Project的设置是针对全局的设置,我们每次新建一个项目都会生效的设置.比如我们对Maven的设置就可以设置成全局设置,避免每次新建Maven工程都需要设置Maven,节约时间.
3.IDEA 配置全局的Maven设置
4.设置编译的版本
方式一: 通过IDEA来设置编译的版本
通过File-Settings设置当前项目的编译的版本和当前模块编译的版本
当然也可以通过Settings for New Project来设置全局的编译版本
做了以上配置后,最好还要保证与Project Structure中的版本保持一致.
我们可以通过javap命令来检查Class文件的编译版本是多少.
D:\IdeaProjects\project1\target\classes\com\yveshe>D://Java/jdk1.8.0_201/bin/javap -v App.class
Classfile /D:/IdeaProjects/project1/target/classes/com/yveshe/App.class
Last modified 2019-8-14; size 535 bytes
MD5 checksum 7e551917b7fbb039d0697a36596e2b13
Compiled from "App.java"
public class com.yveshe.App
minor version: 0
major version: 52
flags: ACC_PUBLIC, ACC_SUPER
Constant pool:
#1 = Methodref #6.#20 // java/lang/Object."<init>":()V
#2 = Fieldref #21.#22 // java/lang/System.out:Ljava/io/PrintStream;
#3 = String #23 // Hello World!
#4 = Methodref #24.#25 // java/io/PrintStream.println:(Ljava/lang/String;)V
#5 = Class #26 // com/yveshe/App
#6 = Class #27 // java/lang/Object
...
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
方式二: 通过Maven插件来来设置编译版本
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
注意: 当同过方式一设置了编译版本,则方式二不生效,默认的编译版本为1.5,暂没发现与maven版本的关联