source

명령줄에서 Eclipse Java 프로젝트 빌드

gigabyte 2022. 9. 16. 23:06
반응형

명령줄에서 Eclipse Java 프로젝트 빌드

명령줄에서 Eclipse 기반 Java 프로젝트를 컴파일하는 방법이 있습니까?

빌드를 자동화하려고 합니다(개미가 아닌 FinalBuilder 사용). Java도 Eclipse도 아닙니다.스트레이트 Java 명령줄 옵션으로 이 작업을 수행할 수 있지만 Eclipse 프로젝트는 많은 노력을 낭비하는 것처럼 느껴집니다.

명령줄에서 Eclipse 프로젝트를 컴파일할 수 없는 경우 Eclipse 내에서 필요한 Java 명령줄을 생성할 수 있는 방법이 있습니까?아니면 뒤에서 실행 중인 컴파일 단계를 찾기 위해 탐색할 수 있는 파일이 있습니까?


여러분, 저는 개미가 포함되지 않은 답을 찾고 있습니다.원래의 질문을 다시 한 번 반복해 보겠습니다.명령줄에서 이클립스 프로젝트를 구축하는 방법이 있나요?

비주얼 스튜디오를 위해 다음과 같은 작업을 수행할 수 있다는 점을 고려할 때 이 질문이 불합리한 질문은 아니라고 생각합니다.

devenv.exe /build "Debug|Any CPU" "C:\Projects\MyProject\source\MyProject.sln"

명령줄에서 워크스페이스를 통해 이클립스 프로젝트를 작성할 수 있습니다.

eclipsec.exe -noSplash -data "D:\Source\MyProject\workspace" -application org.eclipse.jdt.apt.core.aptBuild

를 사용합니다.jdt apt플러그인으로 작업 공간을 자동으로 구축합니다.이를 '헤드리스 빌드'라고도 합니다.알아내기가 좀 어렵네요win32 exe 를 사용하지 않는 경우는, 다음과 같이 시험해 주세요.

java -cp startup.jar -noSplash -data "D:\Source\MyProject\workspace" -application org.eclipse.jdt.apt.core.aptBuild

갱신하다

몇 년 전에 일식이 대체되었다.startup.jar"httpx 런처"를 사용하여

https://wiki.eclipse.org/Equinox_Launcher

Eclipse Mars(MacOX):

java -jar /Applications/Eclipse.app/Contents/Eclipse/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -noSplash -data "workspace" -application org.eclipse.jdt.apt.core.aptBuild

-dataparameter는 워크스페이스의 위치를 지정합니다.

Equinox 런처의 버전 번호는 사용하는 일식의 버전에 따라 달라집니다.

Andre의 답변을 완성하기 위해 개미 솔루션은 다음과 같이 Emacs, JDEE, Ant Eclipse Java 컴파일러에서 설명된 솔루션과 같습니다.

      <javac
          srcdir="${src}"
          destdir="${build.dir}/classes"> 
        <compilerarg 
           compiler="org.eclipse.jdt.core.JDTCompilerAdapter" 
           line="-warn:+unused -Xemacs"/>
        <classpath refid="compile.classpath" />
      </javac>

compilerarg 요소를 사용하면 추가 명령줄 arg를 이클립스 컴파일러에 전달할 수도 있습니다.

명령줄에서 호출되는 완전한 개미 스크립트의 예는 다음과 같습니다.

java -cp C:/eclipse-SDK-3.4-win32/eclipse/plugins/org.eclipse.equinox.launcher_1.0.100.v20080509-1800.jar org.eclipse.core.launcher.Main -data "C:\Documents and Settings\Administrator\workspace" -application org.eclipse.ant.core.antRunner -buildfile build.xml -verbose

하지만 개미가 관련된 모든 것은 키스가 추구하는 것이 아니다.

배치 컴파일에 대해서는 Java 코드 컴파일, 특히 "배치 컴파일러 사용" 섹션을 참조하십시오.

배치 컴파일러 클래스는 JDT Core 플러그인에 있습니다.클래스의 이름은 org.eclipse.jdt.compiler.batch입니다.배치 컴파일러plugins/org.eclipse.jdt.core_3.4.0..jar로 패키지화되어 있습니다.3.2부터는 별도 다운로드로도 이용할 수 있습니다.파일 이름은 ecj.jar 입니다.
이 API)및의 .3 "jar" "jsr199(API)" "jsr269(API)" "jsr269(API)" "jsr269(API)" "jrsr269(API") "notation" 。1.6 VM을 사용합니다.

명령줄에서 배치 컴파일러를 실행하면

java -jar org.eclipse.jdt.core_3.4.0<qualifier>.jar -classpath rt.jar A.java

또는 다음과 같이 입력합니다.

java -jar ecj.jar -classpath rt.jar A.java

모든 Java 컴파일 옵션에 대해서도 이 섹션에서 자세히 설명합니다.

Visual Studio 명령줄 컴파일 기능의 차이점은 Eclipse가 명령줄 인수.project.classpath를 직접 읽지 않는 것 같다는 입니다.동일한 컴파일 결과를 얻으려면 .project 및 .classpath에 포함된 모든 정보를 다양한 명령줄 옵션으로 보고해야 합니다.

그럼 간단한 대답은 "네, Eclipse는 좀 그래요."입니다.;)

27년이 지난 지금, 저도 IDE를 개발하는 것이 불편합니다.위의 제안들을 시도해 봤는데, 아마 모든 것을 제대로 따르지 않았을 것입니다.그래서 웹 검색을 해봤더니 'http://incise.org/android-development-on-the-command-line.html''에서 나에게 맞는 것을 찾았습니다.

위의 답변이 모두 조합된 것 같습니다(틀렸으면 말씀해 주시고, 틀렸다면 사과드립니다).

위에서 설명한 바와 같이 이클립스/애드트는 필요한 개미 파일을 생성하지 않습니다.이클립스 IDE를 사용하지 않고(개미 스크립트를 작성하지 않고) 컴파일하려면:

1) 최상위 디렉토리에 build.xml을 생성합니다.

android list targets  (to get target id used below)

android update project --target target_id --name project_name  --path top_level_directory

   ** my sample project had a target_id of 1 and a project name of 't1', and 
   I am building from the top level directory of project
   my command line looks like android update project --target 1 --name t1 --path `pwd`

2) 다음으로 프로젝트를 컴파일합니다.나는 '개미'를 사용하지 말아달라는 요청에 조금 혼란스러웠다.바라건대--요청자는 개미 대본을 쓰고 싶지 않다는 것을 의미했습니다.다음 단계는 anti를 사용하여 응용 프로그램을 컴파일하는 것이기 때문에 이렇게 말합니다.

 ant target

    this confused me a little bit, because i thought they were talking about the
    android device, but they're not.  It's the mode  (debug/release)
    my command line looks like  ant debug

3) apk를 디바이스에 설치하려면 ant를 다시 사용해야 했습니다.

 ant target install

    ** my command line looked like  ant debug install

4) Android 폰으로 프로젝트를 실행하려면 adb를 사용합니다.

 adb shell 'am start -n your.project.name/.activity'

    ** Again there was some confusion as to what exactly I had to use for project 
    My command line looked like adb shell 'am start -n com.example.t1/.MainActivity'
    I also found that if you type 'adb shell' you get put to a cli shell interface
    where you can do just about anything from there.

3A) 사이드 노트:디바이스에서 로그를 표시하려면 다음 명령을 사용합니다.

 adb logcat

3B) 세컨드 사이드 노트:위의 링크에는 명령에서 프로젝트 전체를 빌드하는 절차도 포함되어 있습니다.

이것이 질문에 도움이 되기를 바랍니다.여기서 이 주제에 관한 어떤 것도 발견하게 되어 정말 기뻤습니다.

일반 Apporoach는 반대로 작동합니다.maven 또는 ant를 기반으로 빌드를 작성한 후 IDE에서 독립할 수 있도록 선택한 IDE에 통합을 사용합니다.이것은 특히 새로운 팀원을 최신 상태로 만들거나 자동화된 빌드를 위해 신뢰할 수 있는 통합 서버를 사용하는 경우에 중요합니다.메이븐을 사용하여 무거운 것을 들어 올리는 것을 추천합니다.pom 파일을 만들고 mvn exclipse: eclipse를 통해 이클립스 프로젝트를 생성합니다.HTH

질문에는 헤드리스 빌드에 대한 몇 가지 유용한 링크가 포함되어 있지만 대부분 플러그인 구축에 맞춰져 있습니다.순수 자바 프로젝트에 얼마나 적용될 수 있을지 모르겠어요.

여기에 내 의견을 덧붙이고 싶었어요.win32 이외의 경우 @Kieveli가 제안한 대로 실행하려고 했지만(아래에서 반복) 효과가 없었습니다(Cent에서는).Eclipse 탑재 OS:루나):

java -cp startup.jar -noSplash -data "D:\Source\MyProject\workspace" -application org.eclipse.jdt.apt.core.aptBuild

센트에 특별히 설치해서Eclipse(Luna)를 사용한 OS는 다음과 같이 동작했습니다.

$ECLIPSE_HOME/eclipse -nosplash -application org.eclipse.jdt.apt.core.aptBuild  startup.jar -data ~/workspace

출력은 다음과 같습니다.

Building workspace
Building '/RemoteSystemsTempFiles'
Building '/test'
Invoking 'Java Builder' on '/test'.
Cleaning output folder for test
Build done
Building workspace
Building '/RemoteSystemsTempFiles'
Building '/test'
Invoking 'Java Builder' on '/test'.
Preparing to build test
Cleaning output folder for test
Copying resources to the output folder
Analyzing sources
Compiling test/src/com/company/test/tool
Build done

왜 두 번 그랬는지는 모르겠지만 효과가 있는 것 같아요

앞으로 이 문제에 직면할 가능성이 있는 모든 분들을 위해 이 질문에 이 코멘트를 추가하고 싶었습니다.

한 번은 CMD(Eclipse 사용)에서 프로젝트를 진행하면서 복잡하고 상호 관련된 JAVA 프로젝트를 구축하는 것이 유일한 선택이었습니다.필요한 것은 이것뿐입니다.

  • 원하는 이클립스 IDE 다운로드(Eclipse OXTING, 엔터프라이즈 Java 및 웹 개발자용 이클립스 IDE 및 Java 개발자용 이클립스 IDE로 테스트하면 정상 작동)

  • 이클립스에서 프로젝트를 열고 프로젝트에 따라 이클립스 구성을 변경합니다.

  • 이클립스를 닫고 이클립스에서 만든 .metadata를 저장합니다(앞으로 작업영역이 새로 고쳐질 경우).

  • CMD에서 다음 스크립트 실행:

"%ECLIPSE_IDE%\eclipsec.exe" -noSplash -data "YOUR_WORKSPACE" -application org.eclipse.jdt.apt.core.aptBuild

따라서 워크스페이스에 .metadata가 없으면 위의 명령어를 사용하여 빌드할 수 없습니다.거기에 있는지 확인해 주세요.필요에 따라서, .metadata 의 카피를 작성해, 커맨드를 실행할 때마다 카피 페이스트 합니다.

안녕하세요. VonC 코멘트 추가입니다.ecj 컴파일러를 사용하여 프로젝트를 컴파일하고 있습니다.일부 수업은 찾을 수 없다는 것을 단언하는 것이었다.그러나 이 프로젝트는 javac 컴파일러와 함께 잘 진행되고 있었습니다.

클래스 패스에 클래스를 추가(인수로 통과시켜야 함)하고, 지금은 정상적으로 동작하고 있습니다.:)

쿨비르 싱

단답.아니요. 이클립스는 Visual Studio와 같은 명령행 스위치가 없습니다.

언급URL : https://stackoverflow.com/questions/206473/build-eclipse-java-project-from-command-line

반응형