Не удалось выполнить цель org.codehaus.mojo: exec-maven-plugin: 1.2.1: exec (default-cli) в проекте SpringData - PullRequest
0 голосов
/ 20 января 2019

Я делал весенний проект данных jpa в maven, и возникла следующая ошибка, и я понятия не имею, почему это так. Это мой 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>

Это проект с Spring Data Jpa.

Понятия не имею, в чем может быть ошибка

Ошибка говорит:

SLF4J: Не удалось загрузить класс "org.slf4j.impl.StaticLoggerBinder". SLF4J: По умолчанию используется логгер без операций (NOP) SLF4J: Подробнее см. http://www.slf4j.org/codes.html#StaticLoggerBinder подробности. ен 20, 2019 11:21:09 org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation INFO: HHH000204: Обработка PersistenceUnitInfo [имя: по умолчанию ...] ен 20, 2019 11:21:09 org.hibernate.Version log Информация о версии: HHH000412: Hibernate Core {5.2.8.Final} ен 20, 2019 11:21:09 org.hibernate.cfg.Environment ИНФОРМАЦИЯ: HHH000206: hibernate.properties не найден ена 20, 2019 11:21:09 org.hibernate.annotations.common.reflection.java.JavaReflectionManager ИНФОРМАЦИЯ: HCANN000001: Hibernate Commons Аннотации {5.0.1.Final} ен 20, 2019 11:21:09 org.hibernate.dialect.Dialect ИНФОРМАЦИЯ: HHH000400: Использование диалекта: org.hibernate.dialect.MySQLDialect ene 20, 2019 11:21:10 AM org.hibernate.hql.internal.QueryTranslatorFactoryInitiator Информация о initiateService: HHH000397: Использование ASTQueryTranslatorFactory Исключение в теме "главная" org.springframework.beans.factory.BeanCreationException: ошибка создание компонента с именем «clienteRepositorio»: вызов init метод не удался; Вложенным исключением является java.lang.IllegalArgumentException: EntityPathResolver не должен быть нулевым! в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1745) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:576) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:498) в org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0 (AbstractBeanFactory.java:320) в org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:222) в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:318) в org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:199) в org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:827) в org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:863) в org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:546) в org.springframework.context.support.ClassPathXmlApplicationContext. (ClassPathXmlApplicationContext.java:144) в org.springframework.context.support.ClassPathXmlApplicationContext. (ClassPathXmlApplicationContext.java:85) at Principal.Principal.main (Principal.java:12) Причина: java.lang.IllegalArgumentException: EntityPathResolver не должно быть ноль! в org.springframework.util.Assert.notNull (Assert.java:198) в org.springframework.data.jpa.repository.support.JpaRepositoryFactory.setEntityPathResolver (JpaRepositoryFactory.java:111) в org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.createRepositoryFactory (JpaRepositoryFactoryBean.java:105) в org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.doCreateRepositoryFactory (JpaRepositoryFactoryBean.java:96) в org.springframework.data.repository.core.support.TransactionalRepositoryFactoryBeanSupport.createRepositoryFactory (TransactionalRepositoryFactoryBeanSupport.java:80) вorg.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet (RepositoryFactoryBeanSupport.java:270) в org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet (JpaRepositoryFactoryBean.java:119) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1804) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1741) ... еще 12 -------------------------------------------------- ---------------------- СОСТАВИТЬ ОТКАЗ -------------------------------------------------- ---------------------- Общее время: 4.017с Окончание: вс 20 января 11:21:11 CET Финал 2019 года Память: 6М / 245М -------------------------------------------------- ---------------------- Не удалось выполнить цель org.codehaus.mojo: exec-maven-plugin: 1.2.1: exec (default-cli) в проекте SpringData: Ошибка выполнения команды. Процесс выход с ошибкой: 1 (Выходное значение: 1) -> [Справка 1]

Чтобы увидеть полную трассировку стека ошибок, перезапустите Maven с -e переключатель. Перезапустите Maven, используя ключ -X, чтобы включить полное ведение журнала отладки.

Для получения дополнительной информации об ошибках и возможных решениях, пожалуйста, Прочитайте следующие статьи: [Помощь 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

И ApplicationContext:

    <?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:jpa="http://www.springframework.org/schema/data/jpa"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       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
            http://www.springframework.org/schema/aop
            http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
            http://www.springframework.org/schema/tx
            http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">

    <jpa:repositories base-package="dao"/>

    <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory"/>
    </bean>

    <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
    <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
            <property name="dataSource" ref="dataSource" />
        <property name="packagesToScan" value="dominio" />
            <property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
    </bean>

    <bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="database" value="MYSQL"/>       
            <property name="showSql" value="true" />
            <property name="generateDdl" value="true" />
            <property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect" />
    </bean>

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="com.mysql.jdbc.Driver" />
            <property name="url" value="jdbc:mysql://localhost:3306/BClientes" />
            <property name="username" value="root" />
            <property name="password" value="" />
    </bean>

</beans>

И Principal.java

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

      }


}

Структура проекта: https://gyazo.com/37d13670db39aa5c887ddb72f62574ef

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Попробуйте упорядочить файлы, используя Стандартный макет каталога Maven :

src/
  main/
    java/
      (put your .java files here)
    resources/
      applicationContext.xml

Посмотрите скомпилированные исходники (папку target или файл .jar - обратите внимание, что вы можете открыть последний с помощью ZIP-совместимого архиватора, такого как 7-ZIP) и убедитесь, что ваш applicationContext.xml действительно отсутствует перед изменением структура папки и присутствует после ее применения и компиляции проекта.

Обновление для читателей этого ответа: автор менял вопрос несколько раз. Каждый раз после исправления предыдущей сообщалось о совершенно новой ошибке. Этот ответ был одним из шагов в этом пути, он позволил системе действительно найти applicationContext.xml во время выполнения.

0 голосов
/ 20 января 2019

В вашем контексте приложения отсутствует ссылка на схему JPA.

В этой строке вы найдете информацию о местонахождении проблемы:

Строка 14 в документе XML из ресурса пути к классу [applicationContext.xml] недействителен; вложенное исключение org.xml.sax.SAXParseException; номер строки: 14; номер столбца: 43; El prefijo "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
            ...
            >

Обратите внимание, что в вашем context.xml отсутствует часть xmlns:jpa.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...