项目正在运行和工作,但 pom.xml 显示错误

Posted

技术标签:

【中文标题】项目正在运行和工作,但 pom.xml 显示错误【英文标题】:project is running and working but pom.xml is showing error 【发布时间】:2016-09-06 12:40:43 【问题描述】:

我有一个运行良好的 spring 项目,但 pom.xml 显示红色错误标志,如附图所示。 image of project hierarchy

我无法理解为什么它会显示此错误,即使我的项目正在运行并且工作正常。 请建议如何从项目层次结构中删除此红色标记。

提前致谢

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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>TAS_EMS</groupId>
<artifactId>TAS_EMS</artifactId>
<version>0.0.2</version>
<packaging>jar</packaging>
<name>TAS_EMS</name>
<description>TAS_EMS</description>
<organization>
    <name>TATA POWER SED</name>
    <url>http://www.tatapowersed.com</url>
</organization>
<properties>
    <!-- Spring -->
    <spring-framework.version>4.1.6.RELEASE</spring-framework.version>
    <springboot-framework.version>1.2.3.RELEASE</springboot-framework.version>
    <!-- SqLite -->
    <sqlite.version>3.7.2</sqlite.version>
    <!-- Hibernate / JPA -->
    <hibernate.version>4.2.1.Final</hibernate.version>
    <!-- JSON -->
    <jackson.version>2.5.2</jackson.version>
    <!-- Portlet /JSON RPC -->
    <portlet.version>2.0</portlet.version>
    <!--HTTP / JSONRPC -->
    <commons-codec.version>1.9</commons-codec.version>
    <httpcore.version>4.3.3</httpcore.version>
    <!-- REST XML Mapping -->
    <jaxb.version>2.2.12</jaxb.version>

</properties>

<dependencies>

    <!-- Spring Jetty -->

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>$springboot-framework.version</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
        <version>$springboot-framework.version</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>$spring-framework.version</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <version>$springboot-framework.version</version>
        <scope>test</scope>
    </dependency>

    <!-- Spring JDBC -->

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>$spring-framework.version</version>
    </dependency>

    <!-- Spring -->

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>$spring-framework.version</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>$spring-framework.version</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>$spring-framework.version</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>$spring-framework.version</version>
    </dependency>

    <!-- Hibernate -->

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>$hibernate.version</version>
    </dependency>

    <!-- Log4J -->

    <!-- <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> 
        <version>1.7.12</version> </dependency> -->

    <!-- SQLite database JDBC -->

    <dependency>
        <groupId>org.xerial</groupId>
        <artifactId>sqlite-jdbc</artifactId>
        <version>$sqlite.version</version>
    </dependency>

    <!-- json dependencies + -->

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>$jackson.version</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>$jackson.version</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>$jackson.version</version>
        <optional>true</optional>
    </dependency>

    <!-- | servlet\portlet dependencies + -->
    <dependency>
        <groupId>javax.portlet</groupId>
        <artifactId>portlet-api</artifactId>
        <version>$portlet.version</version>
        <optional>true</optional>
        <scope>provided</scope>
    </dependency>



    <!-- | Rest XML Mapping + -->

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>$jaxb.version</version>
    </dependency>

    <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> 
        <version>1.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-actuator</artifactId> <version>1.2.3.RELEASE</version> 
        </dependency> -->
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-cypher-compiler-2.1</artifactId>
        <version>2.1.5</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-solr</artifactId>
        <version>1.2.3.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>commons-httpclient</groupId>
        <artifactId>commons-httpclient</artifactId>
        <version>3.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>
            spring-boot-starter-data-elasticsearch
        </artifactId>
        <version>1.2.3.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.apache.activemq</groupId>
        <artifactId>activemq-client</artifactId>
        <version>5.10.1</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>




        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-eclipse-plugin</artifactId>
            <version>2.9</version>
            <configuration>
                <downloadSources>true</downloadSources>
                <downloadJavadocs>false</downloadJavadocs>
            </configuration>
        </plugin>


        <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>


        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>

                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>com.tpcsed.tasems.app.service.StartApp</mainClass>
                        <classpathPrefix>dependency-jars/</classpathPrefix>
                    </manifest>
                </archive>
            </configuration>
        </plugin>


        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.5.1</version>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <includeScope>runtime</includeScope>
                        <outputDirectory>$project.build.directory/dependency-jars/</outputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>


    </plugins>
</build>

【问题讨论】:

不要把图片放在这里。更好地使用文本过去和复制... 不要使用图片。它们不能被搜索引擎索引。这对寻找相同问题解决方案的其他用户没有帮助。 【参考方案1】:

在 pom.xml 部分中添加以下行:

<plugin>
 <groupId>org.apache.maven.plugins</groupId>
 <artifactId>maven-jar-plugin</artifactId>
 <version>3.1.1</version>
</plugin>

然后通过右键单击项目文件夹 -> Maven -> 更新项目从 maven 更新项目

完成!!

参考: https://github.com/sarl/sarl/issues/921#issuecomment-503858707

【讨论】:

【参考方案2】:

请参阅这些 solutions 了解您的错误情况,此处已回答。

【讨论】:

【参考方案3】:

我得到了与上面提到的相同的错误。 为了解决这个错误,我只需将应用程序的打包类型从 JAR 更改为 WAR。

这解决了错误。 请务必在更改配置后更新项目。

这是我的 pom 文件

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.5.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.shubhasish.boot.practice</groupId>
    <artifactId>spring-boot-practice</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>spring-boot-practice</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.source>1.8</maven.compiler.source>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
    </dependencies>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>

【讨论】:

【参考方案4】:

eclipse有时会无缘无故报错,请尝试全选->复制->删除再粘贴内容保存,可能会有帮助。

【讨论】:

【参考方案5】:

您能否发布 pom.xml 并显示 Eclipse 抛出的错误?

Eclipse 有时会这样做。

你可以尝试不同的东西:

1) 如果可以,禁用验证:转到 Window->Preferences 在左侧菜单中选择“验证”(位于“终端”下方)。单击“全部禁用”,然后单击“应用” 2) 使用目标“干净包”运行 Maven 配置 3) 重启Eclipse

如果您在源代码中没有看到任何错误,则意味着您的所有依赖项都已成功导入

【讨论】:

David@ 首先,我使用的是弹簧工具套装,sts 没有抛出任何错误。我的应用程序运行良好,但从昨天开始,我在项目层次结构中收到了一个红色错误标签(您可以在上面找到附加图片的链接)。 可以张贴 pom.xml 本身的图片吗?如果您将光标悬停在红线上,它会说什么? Davil@ 请找到编辑后的 ​​pom.xml,当我将光标悬停在 pom.xml 上时,我没有收到任何错误或任何东西。 pom.xml 内没有红线,只有文件名图标显示红色标记(在附加的图像链接中找到相同的)。

以上是关于项目正在运行和工作,但 pom.xml 显示错误的主要内容,如果未能解决你的问题,请参考以下文章

具有依赖关系的 pom.xml 中的错误(缺少工件...)

由于 pom.xml 中的错误,无法使用 Maven 运行构建

Pom.xml 项目构建错误

Spring Initializr 生成的 pom.xml 中的错误

pom.xml(Maven 多模块项目)中的 <sonar.exclusions> 在本地工作,但不在公司服务器上

带有 pom.xml 和 app.java 的简单 spring-boot 应用程序显示构建失败错误