Java 无法在project SpringData上执行目标org.codehaus.mojo:exec maven插件:1.2.1:exec(默认cli)

Java 无法在project SpringData上执行目标org.codehaus.mojo:exec maven插件:1.2.1:exec(默认cli),java,spring-data-jpa,Java,Spring Data Jpa,我在maven中做了一个spring数据项目jpa,出现了以下错误,我不知道为什么。这是我的POM.xml <?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

我在maven中做了一个spring数据项目jpa,出现了以下错误,我不知道为什么。这是我的POM.xml

<?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>
    <groupId>com.mycompany</groupId>
    <artifactId>SpringData</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>2.1.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.9.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>5.1.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.1.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>5.1.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>5.1.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>5.1.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>5.1.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.35</version>
    </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-commons</artifactId>
            <version>2.1.4.RELEASE</version>
            <type>jar</type>
        </dependency>
    </dependencies>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    <name>SpringData</name>
</project>

项目结构:

您的应用程序上下文缺少JPA架构引用。

这一行给出了问题的位置:

类路径资源的XML文档中的第14行 [applicationContext.xml]无效;嵌套异常是 org.xml.sax.SAXParseException;行号:14;栏目号:43;埃尔 前缀“jpa”para el elemento“jpa:repositories”no estáenlazado

解决方案是正确引用jpa模式:

<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:jpa="http://www.springframework.org/schema/data/jpa"
    ...
    xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
            http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.8.xsd
            ...
            >

尝试使用以下命令组织文件:

查看编译后的源代码(
target
文件夹或
.jar
文件-请注意,您可以使用与ZIP兼容的archiver(如7-ZIP)打开后者),并在更改文件夹结构之前验证您的
applicationContext.xml
是否确实丢失,以及在应用它并编译项目之后是否存在


此答案的读者更新:作者已多次更改此问题。每次修复前一个错误后,都会报告一个全新的错误。这个答案是这个过程中的一个步骤,它允许系统在运行时实际找到
applicationContext.xml

对不起,错误发生了变化,我用最新的
applicationContext.xml
位置更新了帖子,它的命名正确吗(准确地说)我只是在每件事的结尾加了一个gyazo,请不要经常改变你的问题。写一个答案只是为了看看你已经解决了一个问题,但是更新了错误日志来显示另一个问题是令人沮丧的。此外,这对以后的读者没有帮助(这不是一个聊天平台),因为他们无法理解答案。好的,比你更清楚。:)在问题的最新版本中,请检查您得到的错误,它说:
EntityPathResolver不能为null。在internet上搜索此问题的原因,如果找不到解决方案,请返回并打开一个新问题。我将applicationContext移动到src/main/resources,错误已更改。这篇文章现在更新了
package principal;

import dao.ClienteRepositorio;
import dominio.Cliente;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Principal {

    public static void main(String[] args) {

        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        ClienteRepositorio clientes = (ClienteRepositorio) context.getBean("clienteRepositorio");

        Cliente cliente;

        Cliente cliente1 = new Cliente(1, "pwjuan", "Juan Alcaraz");
        Cliente cliente2 = new Cliente(2, "pwpedro", "Pedro Zamora");
        Cliente cliente3 = new Cliente(3, "pwluis", "Luis Valera");

        // Borramos todo, para no tener que ejecutar el script de la base cada vez
        for (Cliente c : clientes.findAll())
            clientes.delete(c);

        System.out.println();
        System.out.println("Alta de clientes en proceso");
        clientes.save(cliente1);
        clientes.save(cliente2);
        clientes.save(cliente3);

      }


}
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:jpa="http://www.springframework.org/schema/data/jpa"
    ...
    xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
            http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.8.xsd
            ...
            >
src/
  main/
    java/
      (put your .java files here)
    resources/
      applicationContext.xml