项目正在运行和工作,但 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 中的错误,无法使用 Maven 运行构建
Spring Initializr 生成的 pom.xml 中的错误