Eclipse를 사용하여 개발 중이며/bin 디렉토리에 파일이 있어야하는 API를 사용하고 있습니다. . 내 응용 프로그램을 항아리로 내 보낸 다음 필요한 파일을 jar 파일과 같은 디렉터리에 저장했지만 터미널을 사용하여 응용 프로그램을 실행하면 응용 프로그램에서 해당 파일을 찾을 수 없습니다. 이 경로 문제를 이해할 수 없습니다.bin 디렉토리에있는 파일을 필요로하는 외부의 java jar 파일 실행
나는이 명령을 사용하여 응용 프로그램을 실행 해요 :
java -jar app.jar
가 나는 또한 jar 파일이 들어있는 디렉토리에 터미널 디렉토리를 변경하고 내가 함께 노력 :
java -cp . -jar app.jar
'didn를 그 일하지 마라.
편집 : 오류 : 응용 프로그램이 필요한 파일을 찾을 수 없습니다. 이클립스에서는 API가/bin 디렉토리에 파일을 위치시켜야했다.
Exception in thread "main" java.io.IOException: failed to find resource /cmu/arktweetnlp/50mpaths2
at cmu.arktweetnlp.util.BasicFileIO.getResourceReader(BasicFileIO.java:233)
at cmu.arktweetnlp.impl.features.WordClusterPaths.<init>(WordClusterPaths.java:29)
at cmu.arktweetnlp.impl.features.FeatureExtractor.initializeFeatureExtractors(FeatureExtractor.java:146)
at cmu.arktweetnlp.impl.features.FeatureExtractor.<init>(FeatureExtractor.java:30)
at cmu.arktweetnlp.Tagger.loadModel(Tagger.java:39)
at com.POSTest.main(POSTest.java:22)
터미널 내용 : 여기
public static void main(String[] args) {
Tagger tagger = new Tagger();
String modelFilename = "model.20120919";
System.out.println("Loading model ...");
try {
tagger.loadModel(modelFilename);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Done loading model.");
}
이 API의 소스 코드입니다 :
이
MacBook-Pro:ArabicTwitterEye ma$ ls
CSVArabicTwitterEye.jar log resources
cmu profiles tweets.csv
MacBook-Pro:ArabicTwitterEye ma$
여기에 간단한 자바 코드의
여기에 전체 예외입니다
(210)는 또한이를 확인 :
public static BufferedReader getResourceReader(String resourceName) throws IOException {
assert resourceName.startsWith("/") : "Absolute path needed for resource";
InputStream stream = BasicFileIO.class.getResourceAsStream(resourceName);
if (stream == null) throw new IOException("failed to find resource " + resourceName);
//read in paths file
BufferedReader bReader = new BufferedReader(new InputStreamReader(
stream, Charset.forName("UTF-8")));
return bReader;
}
및 무엇이 오류 메시지입니까? 찾을 수없는 것은 무엇입니까 –
자세한 정보를 표시하십시오. 우리는 당신이 우리를 도울 때까지만 당신을 도울 수 있습니다. – Jashaszun
내 보낸 항아리의'MANIFEST.MF' 안에 무엇이 있습니까? 'Class-Path' 엔트리를 확인하십시오. –