2013-06-18 2 views
1

Apache Tomcat 서버용 배포 가능한 WAR 파일을 Java 프로그래밍 방식으로 만들려면?Java를 사용하여 WAR 파일 만들기

그런 작업을위한 라이브러리가 있습니까?

저는 특수 목적으로 작은 IDE에서 작업하고 있습니다. IDE는 Java와 JavaScript로 작성되었으므로이를 사용하여 WAR 파일을 작성해야합니다.

+1

개미 대신 메이븐을 사용하지 마십시오. 그것은 내 의견으로는 훨씬 강력하고 사용하기가 더 쉽습니다. –

답변

4

당신이 코드에서 구축 할 경우는 물론

Runtime rt = Runtime.getRuntime(); 
Process pr = rt.exec("jar cvf /path/to/your/project/your-file.war"); 

와 명령 줄에서 작업을 수행하려고하면 같은 일이 이러한 도구만큼 (ANT 또는 메이븐을 사용하여 작동합니다 최종 플랫폼에 설치됨).

편집 : 추가

+0

ANT 스크립트를 사용하지 않고 프로그래밍 방식으로 만들고 싶습니다 (프로그래밍 방식으로 액세스 할 수있는 경우 제외). –

+0

하지만 나는 내가 아니라고 생각합니까? –

+0

명령 줄 명령에 ant가 필요하지 않습니다. 당신은 자바를 통해 그들을 호출 할 수 있으며 당신을 위해 파일을 만듭니다. 자신의 IDE를 구현한다고 말했듯이, 당신이 개미 지원을 구현하고 싶은지 모르겠습니다. – Przemek

0

당신이 받는다는 사용하는 경우 당신은 당신이 방금 언급 된대로 그냥 전쟁을 내보낼 수 <packaging>war</packaging>

를 사용할 필요가 빠른 예를 들어,이에게 여러 가지 방법으로 할 수 있지만 정확히 "프로그램"아니다 .

당신이 Ant를 사용하는 경우 - 당신은 내가 라이브러리의 모르는이 here

1

에 대한 자습서를 찾을 수 있지만, WAR 파일이 다른 결말 단지 ZIP 파일입니다.

그냥 내부 폴더 구조와 파일 (구글 자바 코드에 대한)과 패키지를 우편으로 (자바가 너무 생각, 다시 구글)에 대한 방법을 가지고 "myfile.zip"에서 "myfile .WAR "

-2
<?xml version="1.0" ?> 

<path id="compile.classpath"> 
    <fileset dir="WebContent/WEB-INF/lib"> 
     <include name="*.jar"/> 
    </fileset> 
</path> 

<target name="init"> 
    <mkdir dir="build/classes"/> 
    <mkdir dir="dist" /> 
</target> 

<target name="compile" depends="init" > 
    <javac destdir="build/classes" debug="true" srcdir="src"> 
     <classpath refid="compile.classpath"/> 
    </javac> 
</target> 

<target name="war" depends="compile"> 
    <war destfile="/APP/jboss-5.1.0.GA/server/all/deploy/DispatchActionEx.war" webxml="WebContent/WEB-INF/web.xml">   
     <fileset dir="WebContent"/> 
     <lib dir="WebContent/WEB-INF/lib"/>   
     <classes dir="build/classes"/> 
    </war> 
</target> 

<target name="clean">  
</target> 

  1. 는 그냥 build.xml 파일을 (내가 예를 들기가) 쓰기 개선 제안,
  2. 변화 "프로젝트 name "과"war destfile "은".../apache-tomcat/webapps/projectname.wa "가됩니다. r "
  3. 프로젝트 폴더에 넣으십시오.
  4. eclipse에서 엽니 다.
  5. 바로 >>과 같은 개미 빌드를 실행 >> 그것을 클릭
  6. 전쟁 파일은 당신이 사용을 할 것입니다 방법을 모르는
+0

이것은 질문에 대답하지 않습니다. 제 자신의 IDE를 위해'프로그래밍 방식으로 Java로 'WAR 파일을 만들고 싶습니다. 결과적으로 타사 IDE를 사용하는 것은 해결책이 아닙니다. –

1

아파치 - 톰캣의 웹 어플리케이션 폴더에 만들어집니다 확인 여부 IDE가 있습니다. 그러나 WAR 파일의 구조는 다음과 같습니다

  • 프로젝트 종속성 항아리가 웹으로 이동

    • 웹 자원이 루트에 (자신의 패키지 폴더를 포함)
    • 프로젝트 클래스를 이동 폴더로 이동 WEB을-INF는/클래스 -INF/lib

    그래서 수동으로 WAR를 빌드하려면 .zip 파일을 사용하여 zip 파일 내에 해당 파일 구조를 만들어야합니다.war 확장을 사용하고 배포하려면 서버의 적절한 위치로 복사해야합니다. 대부분의 서버는 또한 '폭발 전개'를 허용합니다. 즉, 실제 war 파일이 필요 없다는 것을 의미합니다. 전쟁과 동일한 이름의 디렉토리 (IE. 'myapp.war')에 배치하면됩니다.

  • 관련 문제