Eclipse中Maven项目执行Maven update project 项目JRE System Library变为1.5的解决办法

本文详细解析了在Eclipse中使用Maven的项目,每次更新后JRE System Library版本从1.8自动回退至1.5的问题。阐述了此现象为Maven的默认行为,并提供了两种解决方案:一是修改Maven的setting.xml文件,二是直接在pom.xml中配置编译版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1:问题描述
Eclipse中的Maven项目,本地Java版本1.8,每次右击项目--maven--update project(Alt+F5) 后,项目JRE System Library 都变为1.5。

2:异常原因
查看Maven官网  如下:

This is a known "feature" of Maven. The default compiler source/target version is 1.5 unless you explicitly specify a version in your POM. The way Maven integration in Eclipse works, it (re)generates your .project, .classpath and .settings from the POM, so unless the POM specifies the correct JDK version, it will get reset to 1.5 every time you update the project configuration.

中文:

这是Maven已知的一个特性。除非在你的POM文件中显示的指定一个版本,否则会使用编译器默认的source/target版本1.5。主要还是在于Eclipse中Maven的集成方式起到了关键作用, 它会从POM文件中生成项目的.project,.classpath以及.settings, 因此除非POM文件指定了正确的JDK版本, 否则你每次更新项目配置的时候它都会重置到1.5版本。

图一:

编译器插件用来编译项目的源文件从3.0版本开始,用来编译Java源文件的默认编译器是javax.tools.JavaCompiler (如果你是用的是java 1.6) ; 如果你想强制性的让插件使用javac,你必须配置插件选项 forceJavacCompilerUse.。

图二:

目前source选项和target 选项的默认设置都是1.5,与运行Maven时的JDK版本无关;如果你想要改变这些默认设置,,可以参考 Setting the -source and -target ofthe Java Compiler中的描述来设置 source 和target 选项。

3:解决办法

方法一比较通用!!!

办法一:在Maven的配置文件setting.xml中手动指定jdk、source和target的版本

 <profiles>
     <profile>     
            <id>maven-default-jre</id>     
            <activation>     
                <activeByDefault>true</activeByDefault>     
                <jdk>1.8</jdk>     
            </activation>     
            <properties>     
                <maven.compiler.source>1.8</maven.compiler.source>     
                <maven.compiler.target>1.8</maven.compiler.target>     
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>     
            </properties>     
    </profile>    
 
  </profiles>


办法二:在pom.xml文件中手动指定source和target的jre版本

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
 
        </plugins>
    </build>
--------------------- 
原文:https://blog.youkuaiyun.com/bbc2005/article/details/78090386

 

2点小贴士:

1、project->clean

project->clean会将工程中的.class文件删除,同时重新编译工程

2、maven->update project

(1)、Maven是一个项目管理工具。

(2)、update project本身是更新项目的意思。

(3)、当Maven工程被做了一些改变后(主要是结构上的改变),必须让maven重新生成或修改相关文件。否则eclipse将不知道变化。这时候需要运行“update project”来更新相对应的“eclipse的.classpath”文件,来更新它,让eclipse知道这个包是buildpath。

<think>我们正在处理的是如何在Windows系统中使用Eclipse导入WorkflowSim项目。WorkflowSim是一个基于CloudSim的仿真工具,通常是一个Java项目。根据用户提供的引用内容,特别是引用[1]中详细描述了在Eclipse中导入web项目的步骤,但WorkflowSim通常不是web项目,而是一个普通的Java项目(尽管它可能包含一些web示例或工具)。不过,我们仍然可以参考其步骤,因为很多配置是类似的。用户特别强调在Windows系统中使用Eclipse,因此我们将针对Windows环境提供指导。同时,我们注意到用户之前的回答中提到了WorkflowSim是一个Maven项目,所以我们将按照Maven项目的方式导入。但是,请注意:用户提供的引用[1]和[2]都是关于非Maven的JavaWeb项目的导入。而WorkflowSim是Maven项目,所以我们需要使用EclipseMaven插件(m2e)来导入。因此,我们将结合Maven项目的导入步骤和用户引用中的一些通用配置步骤(如JDK配置)来提供指导。步骤:1.确保环境:-安装JDK(建议JDK8或更高版本,根据WorkflowSim的要求)-安装EclipseIDEforEnterpriseJavaDevelopers(这个版本自带Maven插件)或安装Maven插件(m2e)-安装Maven(可选,因为EclipseMaven插件通常内置了Maven,但有时需要配置外部Maven)2.导入Maven项目:-打开Eclipse,选择File->Import-在导入窗口中,选择Maven->ExistingMavenProjects,点击Next-在RootDirectory中,浏览到WorkflowSim项目的根目录(包含pom.xml的文件夹)-确保pom.xml被选中,点击Finish3.配置JDK:-如果项目导入后出现错误,可能是JDK配置问题。按照引用[1]中的步骤,我们需要配置项目的JDK。-右键单击项目->Properties->JavaBuildPath->Libraries-检查JRESystemLibrary,如果显示未配置或配置错误,则选中它,点击Edit-选择AlternateJRE,然后选择你安装的JDK(如JDK1.8),如果没有,可以点击InstalledJREs添加。4.配置Java编译器:-在项目属性中,选择JavaCompiler-确保Compilercompliancelevel与JDK版本一致(例如,JDK1.8对应1.8)5.解决依赖问题:-Maven项目在导入后会自动下载依赖。如果出现依赖下载慢或失败,可以考虑配置Maven镜像仓库(后面会提到优化方法)。-如果项目仍有错误,可以尝试:右键项目->Maven->UpdateProject,勾选“ForceUpdateofSnapshots/Releases”6.运行项目:-WorkflowSim的主类通常是`org.workflowsim.WorkflowSim`。-打开这个类,右键->RunAs->JavaApplication。注意:如果WorkflowSim项目中有web模块(比如有web示例),那么可能还需要配置Tomcat,但一般情况下,我们只运行仿真主类即可。由于用户提供的引用中提到了非Maven项目的导入,而WorkflowSim是Maven项目,所以我们主要按照Maven项目导入。但为了全面,我们也考虑如果用户下载的WorkflowSim不是Maven项目(虽然可能性很小)的情况,不过这种情况不在本回答中,因为用户之前已经说明是Maven项目。现在,我们按照上述步骤详细写出回答。同时,根据用户要求,我们会在末尾生成相关问题。</think>### 在 Windows 系统中通过 Eclipse 导入 WorkflowSim 项目的完整指南 #### 环境准备 1. **安装必备软件**: - JDK 8+(推荐 JDK 8 或 11)[下载地址](https://adoptium.net/) - Eclipse IDE for Enterprise Java Developers [下载地址](https://www.eclipse.org/downloads/) - M2Eclipse 插件(Eclipse 自带或通过 `Help > Eclipse Marketplace` 搜索安装) - WorkflowSim 项目源码(从 GitHub 克隆或下载 ZIP) #### 分步导入流程 1. **导入 Maven 项目**: ```路径 File → Import → Maven → Existing Maven Projects ``` - 浏览到 WorkflowSim 根目录(含 `pom.xml` 的文件夹) - 勾选 `pom.xml` → Finish(首次导入需等待依赖下载) 2. **配置 JDK**(关键步骤): - 右键项目 → Properties → Java Build Path → Libraries 标签页 - 选中 `JRE System Library` → Edit → 选择 `Alternate JRE` - 点击 `Installed JREs` → Add → 选择 `Standard VM` - 定位 JDK 安装目录(通常 `C:\Program Files\Java\jdk1.8.0_xxx`) - 应用设置并重启 Eclipse[^1] 3. **修复编译配置**: ```路径 项目右键 → Properties → Java Compiler ``` - 设置 `Compiler compliance level` 为你的 JDK 版本(如 1.8) - 勾选 `Enable project specific settings` 4. **添加 Servlet 依赖**(若需运行 web 示例): - 在 `Java Build Path → Libraries` 中: ```操作 Add External JARs → 浏览到 Tomcat 的 lib 目录 ``` - 选择 `servlet-api.jar` → Apply[^1] 5. **解决依赖问题**: - 若出现依赖错误: ```操作 右键项目MavenUpdate Project ``` - 勾选 `Force Update of Snapshots/Releases` - 等待依赖重新下载 #### 验证与运行 1. **运行主程序**: - 打开 `src/main/java/org/workflowsim/WorkflowSim.java` - 右键 → Run As → Java Application 2. **运行 web 示例**(若存在): - 打开 `index.jsp` 文件 - 右键 → Run As → Run on Server - 选择已配置的 Tomcat 服务器[^2] > **注意**:若导入后项目有红叉错误,按 `Ctrl+Shift+O` 自动组织导入,或检查 `Problems` 视图的具体错误信息。 #### 常见问题解决 - **JDK 未识别**:检查环境变量 `JAVA_HOME` 指向 JDK 目录(非 JRE) - **依赖下载失败**:在 `pom.xml` 右键 → MavenUpdate Snapshots - **Tomcat 配置**:需先在 `Servers` 视图配置 Tomcat 运行时环境
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值