나는 내 디플로마 큰 문제가 될 수 있을 경우 프로젝트 및 보세요들 돕는다구요 매우 기쁩니다! I made a 메이븐 멀티 모듈에서는 운영하고 있으며, 프로젝트 3 " Core-projects".
저도 지금 내가 할 때마다 내 Tomcat 에서 서버 시작 다음 오류:
ERROR: org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'transaktionsRepository':
Injection of persistence dependencies failed;
nested exception is org.springframework.beans.factory.CannotLoadBeanClassException:
Error loading class [at.naviclean.service.impl.MeinRemoteDienstImpl] for bean with name 'meinRemoteDienstImpl' defined in file [C:\Users\Fredy\Documents\workspace-sts-3.1.0.RELEASE\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\NaviCleanServer\WEB-INF\classes\at\naviclean\service\impl\MeinRemoteDienstImpl.class]:
problem with class file or dependent class;
nested exception is java.lang.NoClassDefFoundError: at/naviclean/service/MeinRemoteDienst
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessPropertyValues(PersistenceAnnotationBeanPostProcessor.java:342)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
……………….
package at.naviclean.domain;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import javax.persistence.Version;
@SuppressWarnings("serial")
@MappedSuperclass
public class ModelBase implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long id;
@Version
@Column(name = "ts")
private Date timestamp;
public Long getId() {
return id;
}
public Date getTimestamp() {
return timestamp;
}
public void setId(Long id) {
this.id = id;
}
public void setTimestamp(Date timestamp) {
this.timestamp = timestamp;
}
}
package at.naviclean.domain;
import javax.persistence.Column;
import javax.persistence.Entity;
@SuppressWarnings("serial")
@Entity
public class Kassa extends ModelBase {
@Column(name = "name", unique = true)
private String name;
@Column(name = "geld")
private int geld;
public Kassa(String name, int geld) {
this.name = name;
this.geld = geld;
}
public Kassa() {
}
public String getName() {
return name;
}
public int getGeld() {
return geld;
}
public void setName(String name) {
this.name = name;
}
public void setGeld(int geld) {
this.geld = geld;
}
}
package at.naviclean.service;
import at.naviclean.domain.Kassa;
public interface MeinRemoteDienst {
int getKassaCount(int plus);
String getNameFromKassa(int id);
Kassa findById(int id);
}
package at.naviclean.repositories;
import org.springframework.data.jpa.repository.JpaRepository;
import at.naviclean.domain.ModelBase;
public interface BaseRepository<T extends ModelBase> extends
JpaRepository<T, Long> {
T findById(long id);
}
package at.naviclean.repositories;
import java.util.List;
import org.springframework.data.jpa.repository.Query;
import at.naviclean.domain.Kassa;
public interface KassaRepository extends BaseRepository<Kassa> {
List<Kassa> findByGeld(int geld);
Kassa findByName(String name);
@Query("select k from Kassa k where k.geld = ?1")
Kassa findByGeld1(int geld);
}
package at.naviclean.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import at.naviclean.domain.Kassa;
import at.naviclean.repositories.KassaRepository;
import at.naviclean.service.MeinRemoteDienst;
@Service
public class MeinRemoteDienstImpl implements MeinRemoteDienst {
@Autowired(required = true)
public KassaRepository kassaR;
public int getKassaCount(int plus) {
return 2;
}
public String getNameFromKassa(int id) {
return kassaR.findById(id + 0l).getName();
}
@Override
public Kassa findById(int id) {
return = kassaR.findById(id + 0l);
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:repository="http://www.springframework.org/schema/data/repository"
xsi:schemaLocation="http://www.springframework.org/schema/data/repository http://www.springframework.org/schema/data/repository/spring-repository.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<import resource="infrastructures.xml" />
<jpa:repositories base-package="at.naviclean.repositories">
<repository:exclude-filter type="regex"
expression="at.naviclean.repositories.BaseRepository" />
</jpa:repositories>
<context:component-scan base-package="at.naviclean.service.impl" />
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jdbc="http://www.springframework.org/schema/jdbc"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="true" />
<property name="generateDdl" value="true" />
<property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect" />
</bean>
</property>
</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/kassatest" />
<property name="username" value="root" />
<property name="password" value="" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:c="http://www.springframework.org/schema/c"
xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<import resource="../root-context.xml" />
<bean id="idMeinRemoteDienst" class="at.naviclean.service.impl.MeinRemoteDienstImpl" />
<bean name="/MeinRemoteDienstHessian"
class="org.springframework.remoting.caucho.HessianServiceExporter"
p:serviceInterface="at.naviclean.service.MeinRemoteDienst"
p:service-ref="idMeinRemoteDienst" />
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<import resource="classpath:META-INF/spring/application-context.xml" />
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- The definition of the Root Spring Container shared by all Servlets
and Filters -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml</param-value>
</context-param>
<!-- Creates the Spring Container shared by all Servlets and Filters -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>/MeinRemoteDienstHessian</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>/MeinRemoteDienstHessian</servlet-name>
<url-pattern>/remoting/*</url-pattern>
</servlet-mapping>
</web-app>
패키지 트리스펜거가시스카사.
가져오기의 정적임 오르기스함크레스트리코리마치에이에크알토. 가져오기의 정적임 org.hamcrest.CoreMatchers.is. 가져오기의 정적임 오르기스함크레스트리코리마치에지노. 가져오기의 정적임 오르기스함크레스트리코리마치에이누얼바이루. 가져오기의 정적임 오르기스함크레스트리마치에라스트리아서르트하트.
가져오기의 오르g. 주니t.베포리. 가져오기의 오르g. 준이스테스트. 가져오기의 오르g. 주니t.루너드룬비트. 가져오기의 오르g. 스프링프라임워k.빈스스파스토리지아노테이션지오토어드. 가져오기의 오르g. 스프링프라임워k.츠t.콘테스트리콘테스트콘피그라티온. 가져오기의 org.springframework.test.context.junit4.SpringJUnit4ClassRunner.
가져오기의 라자나비클레인지도메인스카사. 가져오기의 라자나비크레안드레포지토리스트카사레포지토리.
@ContextConfiguration (classpath:META-INF/spring/application-context.xml" ";) @RunWith (SpringJUnit4ClassRunner.class) public class 카사티스트 {
@Autowired (필수 = true) 개인 카사레포지토리 카사르.
@Before public void idfsysobject. 던지는 설정 () {
}
@Test public void 프린드베이터스트 () { K = 카싸 카사리핀드바이드 (2).
아서르트하트 (k) 가 아닌 (누얼바이루 ()))); }
@Test public void 핀드비게르트 () { K = kassaR.findByGeld1 카싸 (1200년);
아서르트하트 (k) 가 아닌 (누얼바이루 ()))); }
@Test public void 테스트 () { 카싸 보르헤르 = new 카싸 (" ssf",, 222); 카사리자베 (보르헤르); 카싸 나크허 = 카사리핀드바이드 (보르헤리게티드 ()); 카사리데르테 (나크허); 아서르트하트 (보르헤리게티드 (,) 는 (에콸토 (나크허스게티드 ()))); }
}
ERROR: org.springframework.test.context.TestContextManager -
Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@41e22632] to prepare test instance [at.spengergasse.kassa.KassaTest@6639be68]
java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:157)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:288)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:290)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
Caused by: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'meinRemoteDienstImpl':
**Injection of autowired dependencies failed**;
nested exception is org.springframework.beans.factory.BeanCreationException:
Could not autowire field: public at.naviclean.repositories.KassaRepository at.naviclean.service.impl.MeinRemoteDienstImpl.kassaR;
nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'kassaRepository': FactoryBean threw exception on object creation;
nested exception is java.lang.IllegalArgumentException: **Not an managed type: class at.naviclean.domain.Kassa**
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287)
………..
2. 난 내 퍼시트렌스.1믈 제르테 내 도메니모델 오버클로킹된 리포지토리를 합니다. 그 결과 green" 모함이야 "; 하지만 난 아직 테스트 wasn& # 39 server. 시작할 수 없다.
미리 많이 주셔서 감사합니다!!! 난 너 없이는 어떤 can& 상상할 수 없는 상황이고, t # 39:)
감사합니다!
예를 들어, '< 컴포넌트인지 스캑 범위 확대 = " 합니다 컨텍스트로 컴포넌트인지 스캑 기본 패키지 at.naviclean"; 이후 ',' 에서 엔티티와 라자나비클레인지도메인 패키지로 만든 />. '
이 에스페시옹 없앨 수 있는 데 도움이 됩니다.
할 수 있습니다 자세한 디버깅 애플리케이션 컨텍스트로 덤프합니다. (참조 javadoc) 를 알 수 없는 경우 그동안 일부 여전히 컴포넌트인지 스캑 에서 감지되는지 살펴보았으므로 클래스를 확인할 주석 (@service @component, etc.)
편집:
또한 퍼시스텐스.1믈 데이터베이스에구성원을 '클래스' 를 추가해야 합니다
<persistence-unit>
<class>at.naviclean.domain.Kassa</class>
...
</persistence-unit>
저도 부트하는 봄 같은 일반 유형을 사용하여 설정할 수 있기 때문에 idfsysobject. 크루드레포지토리 잊었다. 이 경우 내가 원하는 사람이 쓸 수 있습니다.
에로네우스 정의:
public interface OctopusPropertiesRepository extends CrudRepository
오류:
Caused by: java.lang.IllegalArgumentException: Not a managed type: class java.lang.Object
성공 정의:
public interface OctopusPropertiesRepository extends CrudRepository<OctopusProperties,Long>{
예전에는 이 문제와 다른 방법을 시도한 후 추가하는 등, 콤프로넨스스칸 렌티티스칸 파캉임 엔티티에는 이름을 아무 통했다.
이 중 리포지토리를 렌티티국제르 파스토리 파커기스칸 구성용 추가했어야 패키지를 구성. 아래 코드를 코드 기반 구성 보기입니다 반대로 XML 기반의 수준들과 답변됨 명이다.
@Primary
@Bean(name = "entityManagerFactory")
public EntityManagerFactory entityManagerFactory() {
LocalContainerEntityManagerFactoryBean emf = new LocalContainerEntityManagerFactoryBean();
emf.setDataSource(dataSource);
emf.setJpaVendorAdapter(jpaVendorAdapter);
emf.setPackagesToScan("org.package.entity");
emf.setPersistenceUnitName("default");
emf.afterPropertiesSet();
return emf.getObject();
}
제 경우에는 여러 가지 모듈을 사용할 때, 나는 프로젝트의 린텔리 했다. 당시 주 모듈에서는 종속적임 있는 다른 모듈에서는 종속물과의 경식도 maven 에서 왔다.
'의 두 번째 모듈에서는 및 주요 모듈에서는 엔티티에는 그렇게 했다. 그러나 나는 오직 '의 두 번째 주 모듈에서는 실행했음 엔티티에는 모듈에서는 클래스뿐만 관리됨 잡을라는데 평가받고 있다.
그런 다음 주 모듈에서는 추가되든지 봄 종속물과의 뿐만 아니라, 그리고 배리랑? 이 모든 '의 엔티티에는 인정받았다.
확인란 파커게스트로스칸 합니다.
<bean id="entityManagerFactoryDB" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
<property name="dataSource" ref="dataSourceDB" />
<property name="persistenceUnitName" value="persistenceUnitDB" />
<property name="packagesToScan" value="at.naviclean.domain" />
//here
.....
나를 위해 오류는 아주 간단한 것을 바탕으로 @alfred_m 밝혔다. tomcat 인도하심이라만일 2 점 때문에 동일한 충돌하는 클래스 이름 및 구성.
무슨 일 이었냐면 .I 복사됨 내 기존 프로젝트 새 프로젝트 빼냅니다 만들기 위해 기존 프로젝트. 하지만, 내가 필요한 사항을 하지 않고 다른 프로젝트 작업을 시작했다. 했다, 그 결과 같은 클래스 및 구성 파일을 프로젝트에 헨릭 2 로 벌어졌다.
프로젝트 및 삭제 복사됨 셨으며 일하기!!!!