저는 Java를 처음 접했고 웹에서 해결책을 찾았지만 아무 것도 작동하지 않습니다. 도와주세요.사용자 정의 Java 클래스 가져 오기
두 개의 파일이 있습니다. 그 중 하나는 main 함수가 들어있는 java 파일입니다. 이 글은이 명령에와
...
VaporVisitor visitor = new VaporVisitor();
...
, 나는 VaporVisitor.java
라는 별도의 파일에 클래스의 새로운 객체 VaporVisitor
를 만들려고합니다. 그러나 Java는 VaporVisitor가 무엇인지 인식하지 못합니다. VaporVisitor.java
이 존재한다는 것을 모르기 때문입니다 (같은 디렉토리에 있음). 나는 그들을 다른 패키지와 같은 패키지의 일부로 만들려고 시도했다. 그리고 그들 모두는 실패했다. 아무도 나에게 어떤 지침을 줄 수 있습니까?
감사합니다.
편집 : 여기 정확히 내가하고있는 오류 메시지가 표시됩니다. 그래서 3 개의 파일이 있습니다. V2VM (내 주요 기능 포함), VaporVisitor 및 여러 사용자 정의 클래스가있는 제공된 jar 파일. jar 파일로 인해 문제가 발생하지 않습니다. java가 VaporVisitor를 인식하게하려고합니다.
그래서 V2VM (주 기능)에서 퍼팅을 시도했습니다 : import V2VM.java;
이 작동하지 않았습니다. V2VM을 vv라는 하위 폴더에 넣고 VaporVisitor에 package vv;
을 추가하고 V2VM.java에 넣으려고했지만 import vv.*
하지만 그 중 하나도 작동하지 않았습니다.
컴파일을 위해, 나는 그것이 나에게주는 javac -classpath [the jar file].jar V2VM.java
오류를 시도 :
V2VM.java:15: cannot find symbol
symbol : class VaporVisitor
location: class V2VM
VaporVisitor visitor = new VaporVisitor();
^
V2VM.java:15: cannot find symbol
symbol : class VaporVisitor
location: class V2VM
VaporVisitor visitor = new VaporVisitor();
^
내가 javacc
를 실행하면 나는 다른 두 개의 파일이있는 위치도 V2VM, 같은 디렉토리에서 오전 . 나는 V2VM과 VaporVisitor를 같은 패키지에 넣으려고했으나 그 중 하나는 작동하지 않았다. 그래서 그들은 ...
편집이 지금 어떤 패키지의 일부가 아닌 : VaporVisitor 및 V2VM
V2VM.java의 소스 코드 : VaporVisitor.java를 들어
package vv; //whether I put this or not, it doesn't work
//this stuff was provided, and is related to importing contents of the jar file; don't think this is the problem
import cs132.util.ProblemException;
import cs132.vapor.parser.VaporParser;
import cs132.vapor.ast.VaporProgram;
import cs132.vapor.ast.VBuiltIn.Op;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.PrintStream;
import vv.VaporVisitor; //whether I put this or not, it doesn't work
public class V2VM{
public static void main(String [] args){
VaporProgram vp = parseVapor(System.in, System.err);
VaporVisitor visitor = new VaporVisitor();
for(int i=0; i<vp.functions.length; i++){
for(int j=0; j<vp.functions[i].body.length; j++){
vp.functions[i].body[j].accept(parameter, visitor);
}
}
}
public static VaporProgram parseVapor(InputStream in, PrintStream err){
...
}
:
package vv;
public class VaporVisitor extends VInstr.VisitorPR<Parameter_Type, Return_Type, RuntimeException>{
....
}
3 개의 파일 모두 같은 디렉터리에 있습니다. vv
어떻게 컴파일하나요? (IDE는 일반적으로이 모든 것을 사용자를 위해 정렬합니다.) –
어떻게 이러한 클래스를 컴파일합니까? 파일이있는 디렉토리, 현재 디렉토리 및 파일을 컴파일하는 데 사용 된 명령을 표시하십시오. 정확한 오류 메시지를 붙여 넣으십시오. 클래스가 어떤 패키지인지 알려주십시오. –
실제로 터미널을 사용하고 있고'javac' 만 실행하고 있습니다. 가능한 경우 IDE에 의존하는 대신 내가해야 할 일을 이해할 수 있다면 좋을 것입니다. – pauliwago