저주를 사용하는 기본 Java 응용 프로그램을 작성하려고합니다. 제가 놓친 것은 작동하는 jar 파일입니다.org.apache.thrift 패키지가 존재하지 않습니다.
저는 공식 웹 사이트 다운로드 페이지에서 0.8.0 gz 버전의 중고품을 다운로드했으며 자체적으로 jar 아카이브를 만들었습니다 (jar cf thrift-0.8.0.jar src/org
). 새 jar 파일을 프로젝트 디렉토리로 옮겼습니다. 그런 다음이 jar 파일을 프로젝트에 수동으로 추가했습니다. NetBeans IDE에서 작업하고 있습니다. 모든 것이 제대로 작동하는 것처럼 보이지만 그렇지 않습니다. 빨간색 오류 메시지는 중고품 라이브러리를 사용하려는 모든 곳에서 발생합니다.
package com.blogspot.symfonyworld.thrift;
import com.blogspot.symfonyworld.thrift.server.MainService;
import org.apache.thrift.TException;
public class MainServiceHandler implements MainService.Iface {
@Override
public int add(int n1, int n2) throws TException {
return n1 + n2;
}
@Override
public int sub(int n1, int n2) throws TException {
return n1 + n2;
}
}
다른 파일 :
ant -f /var/www/laughing-thrift-duck jar
init:
Deleting: /var/www/laughing-thrift-duck/build/built-jar.properties
deps-jar:
Updating property file: /var/www/laughing-thrift-duck/build/built-jar.properties
Compiling 2 source files to /var/www/laughing-thrift-duck/build/classes
/var/www/laughing-thrift-duck/src/com/blogspot/symfonyworld/thrift/MainServiceHandler.java:4: package org.apache.thrift does not exist
import org.apache.thrift.TException;
/var/www/laughing-thrift-duck/src/com/blogspot/symfonyworld/thrift/server/MainService.java:9: package org.apache.thrift.scheme does not exist
import org.apache.thrift.scheme.IScheme;
/var/www/laughing-thrift-duck/src/com/blogspot/symfonyworld/thrift/server/MainService.java:10: package org.apache.thrift.scheme does not exist
import org.apache.thrift.scheme.SchemeFactory;
/var/www/laughing-thrift-duck/src/com/blogspot/symfonyworld/thrift/server/MainService.java:11: package org.apache.thrift.scheme does not exist
import org.apache.thrift.scheme.StandardScheme;
/var/www/laughing-thrift-duck/src/com/blogspot/symfonyworld/thrift/server/MainService.java:13: package org.apache.thrift.scheme does not exist
import org.apache.thrift.scheme.TupleScheme;
/var/www/laughing-thrift-duck/src/com/blogspot/symfonyworld/thrift/server/MainService.java:14: package org.apache.thrift.protocol does not exist
import org.apache.thrift.protocol.TTupleProtocol;
# and many many more...
주요 질문은 다음과 같습니다 : 패키지 내가 빌드를 실행하면
/**
* Autogenerated by Thrift Compiler (0.8.0)
*
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
* @generated
*/
package com.blogspot.symfonyworld.thrift.server;
import org.apache.thrift.scheme.IScheme;
import org.apache.thrift.scheme.SchemeFactory;
import org.apache.thrift.scheme.StandardScheme;
import org.apache.thrift.scheme.TupleScheme;
import org.apache.thrift.protocol.TTupleProtocol;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import java.util.EnumMap;
import java.util.Set;
import java.util.HashSet;
import java.util.EnumSet;
import java.util.Collections;
import java.util.BitSet;
import java.nio.ByteBuffer;
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MainService {
public interface Iface {
public int add(int n1, int n2) throws org.apache.thrift.TException;
public int sub(int n1, int n2) throws org.apache.thrift.TException;
}
public interface AsyncIface {
public void add(int n1, int n2, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.add_call> resultHandler) throws org.apache.thrift.TException;
public void sub(int n1, int n2, org.apache.thrift.async.AsyncMethodCallback<AsyncClient.sub_call> resultHandler) throws org.apache.thrift.TException;
}
, 나는 다음과 같은 오류를 얻을이 내 코드의 조각 org.apache.thrift가 존재하지 않습니다. - 어떻게 오셨습니까?!
내 프로젝트에 사용자 정의 jar 파일을 가져 오는 데 내가 잘못한 점을 누군가가 지적 할 수 있습니까? 나는 이것이 조롱과 정확히 관련이 없다고 생각하지만 일반적으로 병을 수입하는 것으로 생각합니다.
Apache Thrift를 다운로드하고 classpath에 항아리를 넣으십시오. 웹 어플리케이션이라면'WEB-INF/lib' 폴더에 넣으십시오. –