패키지 a.b.c에서 Java 클래스를 정의했지만 c : \ 에 컴파일 된 클래스 파일을 넣고 URLClassloader를 사용하여로드하면 오류가 발생합니까?자바 패키지가 런타임 동작에 영향을 줍니까?
편집 -------------------------------------------- 나는 위의 코드를 실행하면 --------------
package amarsoft.rcp.base.util.test;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import javax.tools.JavaCompiler;
import javax.tools.ToolProvider;
public class JavaCompolierDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String source = " package a.b.c; public class Test { public static void main(String args[]) { System.out.println(\"hello\"); } }";
// Save source in .java file.
File root = new File("C:\\java\\");
root.mkdir();
File sourceFile = new File(root, "\\Test.java");
Writer writer = new FileWriter(sourceFile);
writer.write(source);
writer.close();
// Compile source file.
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
compiler.run(null, null, null, sourceFile.getPath());
}
}
, 정의 된 패키지 ABC 디렉토리 \ B 형 \의 C로 생성되지는 Test.class라는이 될 것입니다 in c : \ Test.class
질문하시는 질문의 예를 제공해 주시겠습니까? – monksy