나는 lotusnotes db에서 양식을 추출하는 Java 프로그램을 작성하고 있습니다. 양식을 얻을 때마다 양식과 이름이 같은 클래스를 포함하는 .java 파일을 작성해야합니다. 그럼 나 .class 파일 & .class 파일을주는이 새로운 .java 클래스를 컴파일해야한다. 그래서 나는 그 새로운 클래스의 인스턴스를 만들 수있다. 이 새로운 접근법을 생성하고 컴파일하는 것이 기존의 하나의 자바 프로그램에서 가능하다는 것을 알아야합니다.기존 Java 프로그램에서 새 Java 프로그램의 인스턴스를 컴파일하고 작성하십시오.
내 의사는
import java.util.Iterator;
import de.bea.domingo.*;
import java.util.List;
import java.io.*;
public class LotusNotesDBExtraction
{
public static void main(String[] args) throws DNotesException,IOException
{
DNotesFactory factory = DNotesFactory.getInstance();
DSession session = factory.getSession();
DDatabase database = session.getDatabase("", "employee.nsf");
List formlist=database.getForms();
//System.out.println("Number of forms are :"+formlist.size());
for(int i=0;i<formlist.size();i++)
{
DForm formn=(DForm)(formlist.get(i));
DForm formname= database.getForm(formn.getName());
**//Creating a class in a file
FileWriter outputfile = new FileWriter("D:\\Lotusnotesformfiles\\"+formn.getName()+".java",true);
BufferedWriter out = new BufferedWriter(outputfile);
out.write("public class "+formn.getName()+" {");
out.newLine();
out.flush();**
try
{
**//Compile the class here**
Process p1 = Runtime.getRuntime().exec("cmd javac \"D:\\Lotusnotesformfiles\\"+formn.getName()+".java\"");
System.out.println("compiled");
}
catch(IOException x)
{
x.printStackTrace();
}
**//instantiate the new class here**
}
}
아래로 간다하지만 새로운 클래스의 .class 파일을 얻을 수 없습니다입니다. 동일한 프로그램에서 새 클래스를 인스턴스화 할 수 있습니까 ?? 나는이 시점에서 붙어 있었다. 어떤 도움을 주시겠습니까
이것은 답변이 아니지만 동일한 프로그램에서 사용할 수있는 각 양식의 수업을 원하는 이유가 무엇입니까? 어떻게 그 수업을 사용하고 싶니? – michael667
양식의 각 문서에 대한 개체를 만들어 salesforce db에서 데이터를 덤프 할 다른 사람에게 전달해야합니다. –
_instance_ (개체) 또는 _class_를 만들시겠습니까? – michael667