저는 다중 프로젝트 gradle + spring-boot 구성을 가지고 있습니다. "상호 운용성"일반적인 클래스가 포함되어 프로젝트와 다른 두 개의 프로젝트가 a는있다 "백엔드"과 : 의존성 등이 다른 프로젝트를 포함하는 "프론트 엔드는"이 같은 :봄철 원격 : es.interop.dto.NameDto는 es.interop.dto.NameDto로 캐스팅 될 수 없습니다.
compile project(":interop")
은 내가 RMI를 실행 ": frontend"에서 ": backend"로 호출하십시오. .gradlew 빌드를 실행하고 커맨드 라인에서 생성 된 jar 파일을 실행하면 오류가 발생하지 않습니다. "프런트 엔드"나는 이클립스에서 직접 실행하는 경우하지만 난에 다음과 같은 오류가
java.lang.ClassCastException: es.interop.dto.NameDto cannot be cast to es.interop.dto.NameDto
는 파일 시스템에 NameDto.class의 두 사본이 있습니다.
$ grep interop frontend/.classpath
<classpathentry kind="src" path="/interop"/>
모든 접착제는 환영합니다 :
$ find ~ -name NameDto.class
./interop/bin/es/interop/dto/NameDto.class
./interop/build/classes/main/es/interop/dto/NameDto.class
.classpath는 다음과 같이 프로젝트를 포함하고 있습니다.
편집 서비스 정의는 : 나는 데브 - 도구를 사용하고
public interface NameService {
List<NameDto> findAll();
NameDto create(String value);
}
편집.
compile("org.springframework.boot:spring-boot-devtools:1.3.0.RELEASE")
스프링 부트의 DevTools를 사용하고 있습니까? –
Andy : 당신 말이 맞아요. 나는 그것을 제거하고 그것을 작동합니다. 하지만 아마도 이것이 최선의 해결책은 아닙니다. 나는 다른 사람들이 유익 할 수 있도록 질문을 다시한다. 그에 따라 대답을 줄 수 있습니까? – user2108278
안녕하세요, Andy, 나는 내 초보자 질문에 대답하고 있습니다. 더 나은 것을 제공해주십시오. – user2108278