我不确定发生了什么,但我项目的 POM 不再有效。它抱怨依赖元素。是依赖不再存在了吗?这个错误是什么意思?需要说明的是,我没有更改 POM,它现在不起作用。
确切的错误消息是 cvc-complex-type.2.3: Element ‘dependency’ cannot have character (children),因为这种类型的内容类型是纯元素的。
<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>com.medfusion</groupId>
<artifactId>Estatements-core</artifactId>
<version>14.6.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Estatements-core</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.group.id.Launcher1</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.3.2</version>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>nexus-qhg-dev</id>
<name>Medfusion repo</name>
<url>http://maven.qhg.local/nexus/content/groups/qhg-dev</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.intuit.health</groupId>
<version>14.6.0-SNAPSHOT</version>
<artifactId>notification-reference</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.intuit.health</groupId>
<version>ihg-depot-trunk-SNAPSHOT</version>
<artifactId>attachment-reference</artifactId>
</dependency>
<dependency>
<groupId>com.intuit.health</groupId>
<version>ihg-depot-trunk-SNAPSHOT</version>
<artifactId>eCommunication-core</artifactId>
</dependency>
</dependencies>
</project>
原文由 Rob 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如 Powerlord 在评论中提到的,这个错误是由于 XML 文件的解析不正确,因为在 a/some
<dependency>...</dependency>
标签之间有奇怪和隐藏的字符。这些字符可能来自网络的复制粘贴。要解决此问题,请删除
<dependency>...</dependency>
标记定义之间的所有空格和换行符,并将它们放回编辑器中。