2014-11-21 2 views
0

나는 이것을 조사했지만 비슷한 상황이지만 정확한 것은 아니다. 초보자이므로 전체 지침이 필요합니다. 단일 Java 파일을 컴파일하여 기존 (컴파일 된) Java 응용 프로그램에 다시 넣어야합니다. 이 Java 코드의 소스를 사용할 수 없으므로 전체 프로젝트를 컴파일 할 수 없습니다. 필자는 필요한 싱글 클래스 파일을 디 컴파일하여 변경 한 다음 해당 클래스 파일을 다시 WAR에 넣기를 원합니다. ANT 또는 maven을 사용하고 싶지 않고 컴파일을 수행하기 위해 Eclipse를 사용하려고합니다. 내 Java 파일에있는 종속성을 어떻게 해결할 수 있을지 모르겠다.단일 JAVA 파일을 컴파일하고 WAR 파일에 다시 저장하는 방법은 무엇입니까?

분명히 전체 응용 프로그램을 디 컴파일하지 않으려 고합니다.

나는 WAR 파일을 가지고 있습니다.

고마워요!

+0

초급자라면 자바 코드 디 컴파일/수정/컴파일을하기 전에 Java로 프로그래밍하는 법을 배워야합니다. 그렇다면 어차피 이해할 수없는 "완전한 지침"을 줄 필요가 없습니다. (미안하지만 그건 사실입니다 ... 당신의 정보에 대한 반성이 아닙니다.) –

+0

내 대답에 추가하려면 : 달성하려는 목표를 설명해야합니다.이를 통해 지속 가능한 프로세스로 어떻게 처리 할 수 ​​있는지 설명해주십시오. –

답변

0

업데이트 된 클래스 파일을 분해 된 전쟁에 넣고 다시 전쟁을 만듭니다.

+0

감사합니다.하지만 업데이트 된 클래스 파일은 어떻게 만듭니 까? – sahana

+0

@sahana - 이것이 바로 컴파일러입니다! –

+0

그 클래스가 독립적 인 경우 명령 프롬프트에서 컴파일 할 때 할 수 있습니다. 그렇지 않으면 디 컴파일하고 다시 컴파일해야 할 때 업데이트 된 기존 클래스 파일을 힘들게 호출 할 수 있습니다. –

0

정말 하나의 파일을 WAR에 넣을 수는 없습니다. 할 수있는 일은 서버가 압축을 해제 한 상태에서 이전 파일을 새로운 위치로 바꾸는 위치에 액세스하는 것입니다.

0

파일 형식 관점에서 WAR은 zip 파일에 지나지 않습니다. 예를 들어, Winzip과 같이 zip 파일을 처리 할 수있는 유틸리티를 사용하여 열 수 있습니다. 따라서 WAR 파일의 압축을 풀고 패키지에 해당하는 위치에 컴파일 된 클래스를 추가 한 다음 다시 압축 할 수 있습니다.

하지만 저는 그러한 과정을 권장하지 않습니다. 아주, 아주 나쁜 아이디어 일 가능성이 높습니다. 일반적인 프로세스에서는 war 파일이 프로젝트에서 빌드되고 분명히 war 파일이 빌드 된 프로젝트의 일부가 아닌 파일을 추가하기 때문에 나중에 모든 종류의 문제가 발생할 수 있습니다. 따라서 어느 시점에서 war 파일을 다시 작성하고 추가 한 파일의 변경 사항을 잃게됩니다.

그러나 수행 할 수 있습니다 ... 컴파일 된 클래스 파일을 얻는 방법에

: 당신이 어떤 빨간색 주석없이 이클립스에서 소스 파일을 참조하는 경우, 당신은 아마 이미 파일 시스템에있어. 파일 탐색기 또는 뭔가를 사용하여보세요. 그것을 볼 수 없다면, Eclipse에서 Control + B를 눌러 빌드하십시오 (Maven 프로젝트에서는 해당 명령이 작동하지 않습니다).

전체 작업을 하나의 일관된 단위로 유지하기 위해 전쟁 파일이 생성 된 프로젝트에 파일을 추가해야합니다. 따라서 여기서 계획 한 것과 같은 변화에 대해 걱정하지 않고 반복해서 구축 할 수 있습니다. 하나의 클릭으로 전체적이고 완전한 warfile을 만들 수 있습니다.

+0

고마워요! 하지만 소스 코드가 없으므로 내 파일을 컴파일하는 데 도움이되는 항아리 집합으로 내 전쟁을 가져올 수 있습니까 (내 Java 파일에는 몇 가지 종속성이 있음). – sahana

0

이 정보가 아닙니까? 서버에 배치하면서

http://www.mkyong.com/eclipse/how-to-configure-hot-deploy-in-eclipse/

그것은 자바 클래스 내부에 작은 코드 변경을 대체 할 수 있습니다. 따라서 시간을 절약 할 수 있습니다. 하지만 제한이 있습니다. 대규모 수정을 수행하는 경우 전체 .war을 다시 컴파일 한 다음 서버에 다시 연결해야합니다.

관련 문제