关于这个主题已经开设了很多主题,但我无法用同样的方法解决问题。我在使用Maven编译时遇到错误。当我在调试模式下重建它时,我看到它再次用1.6编译,尽管Java版本在JAVA_HOME中定义为1.7并在Eclipse中安装了JRE。我已经尝试将以下内容添加到根目录和子项目目录中,但问题仍在继续。
错误消息
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project attendance-api: Compilation failure
[ERROR] /D:/repository/sakai107/attendance/api/src/java/org/sakaiproject/attendance/model/AttendanceSite.java:[49,127] diamond operator is not supported in -source 1.6
[ERROR] (use -source 7 or higher to enable diamond operator)
AttendanceSite.java:[49127]
@Getter @Setter private Set<AttendanceStatus> attendanceStatuses = new HashSet<>(0);
Maven调试输出
<source default-value="1.5">1.6</source>
pom.xml(root)
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
pom.xml(在项目文件夹中)
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
答案 0 :(得分:0)
JAVA_HOME
变量通常仅由mvn
命令用于确定JDK的位置,但这不应影响编译器设置(当然,除非您需要JDK与版本等于或高于您的编译器设置)。
您不仅可以通过属性(例如maven-compiler-plugin
)配置maven.compiler.source
,还可以直接在插件定义中配置<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
(我认为这是更安全的选项)。只需将其添加到插件定义中即可。
$Extension = pathinfo(basename($_FILES['image']['name']), PATHINFO_EXTENSION);
echo $Extension;
答案 1 :(得分:0)
这也可以通过使用:
来实现<properties>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.source>1.7</maven.compiler.source>
</properties>