Java 无法在Eclipse IDE中更改Maven版本

Java 无法在Eclipse IDE中更改Maven版本,java,eclipse,maven,Java,Eclipse,Maven,在Eclipse内部的mvn包失败但在终端中成功后,我意识到Eclipse运行的是Maven 3.3.3,而终端运行的是3.3.9。我试图通过转到eclipse->Preferences->Maven->Installations并指向我的3.3.9文件夹来重新配置eclipse,但所有明显的帐户都成功了。我重新启动了Eclipse并再次尝试,但没有可用的。此外,尝试生成时,不会确认对pom.xml文件的更改。我插入了不适当的斜杠和其他字符,只能生成此错误: 组装WAR时出错:需要web.xml

在Eclipse内部的mvn包失败但在终端中成功后,我意识到Eclipse运行的是Maven 3.3.3,而终端运行的是3.3.9。我试图通过转到
eclipse->Preferences->Maven->Installations
并指向我的3.3.9文件夹来重新配置eclipse,但所有明显的帐户都成功了。我重新启动了Eclipse并再次尝试,但没有可用的。此外,尝试生成时,不会确认对
pom.xml
文件的更改。我插入了不适当的斜杠和其他字符,只能生成此错误:

组装WAR时出错:需要web.xml属性(如果在更新模式下执行,则为预先存在的web-INF/web.xml)

我根据建议修改了pom文件,但正如我所说,maven没有识别pom的更改,我无法运行
mvn--version
,以产生3.3.9。我已经在下面附上了我的
pom.xml

<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 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.javawebtutor</groupId>
<artifactId>LoginWebApp</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>LoginWebApp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.30</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
    </dependency>
</dependencies>
<build>
    <finalName>LoginWebApp</finalName>
    <plugins>
    <plugin>            
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <configuration>
        <webXml>src\main\webapp\WEB-INF\web.xml</webXml>        
      </configuration>
    </plugin>
    </plugins>
</build>

4.0.0
com.javawebtutor
LoginWebApp
战争
1.0-快照
LoginWebApp Maven Webapp
http://maven.apache.org
javax.servlet
servlet api
2.5
mysql
mysql连接器java
5.1.30
朱尼特
朱尼特
4.10
LoginWebApp
org.apache.maven.plugins
maven战争插件
src\main\webapp\WEB-INF\WEB.xml

通常,您必须重新安装m2eclipse插件才能以正确的版本运行。如果它被更新,它将无法与前一个版本一起工作,因为它将采用“旧”maven版本

尝试设置运行时配置,或者查看是否已经在使用

在eclipse中,右键单击项目->运行方式->运行配置。查找左侧的
m2 Maven Build
部分。如果项目名称下有一个,则编辑它,否则创建一个。对话框底部有一个下拉列表,允许您选择要运行的maven配置:

这为我提供了以下输出:

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11 10T11:41:47-05:00)
Maven home: C:\Program Files\Java\apache-maven-3.3.9
Java version: 1.7.0_80, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_80\jre
Default locale: en_US, platform encoding: UTF-8
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows"
  • 调用
    cmd
    ,键入
    systempropertiesadvanced
    检查环境变量:
    %MAVEN\u HOME%
    %PATH%
  • 检查以下步骤:


查看下面的屏幕截图(这与您的问题有关):

嵌入式:3.3.3
外部日食:3.3.9


(来源:这是我的网站)

首先不要在pom文件中使用反斜杠,因为您可以使用斜杠,它与平台无关。此外,您不需要将路径设置为
web.xml
,因为默认路径位于
src/main/webapp/web-INF/web.xml
…除此之外,如果您收到消息
WAR:web.xml属性是必需的
,您应该将其放置在适当的位置。如果您确定不需要它,可以使用
false
…来实现这一点,这一点非常重要。定义您正在使用的插件的版本…顺便说一句:我永远不会在Eclipse中打包..您仍然可以使用此工具获得特定于版本的依赖项错误。请参阅安装屏幕底部的说明:“注意:嵌入式运行时始终用于依赖项解析”。在Mac中也适用于我,但不适用,eclipse for me仍在使用嵌入式maven版本