eclipse 에서 ant build 콘 솔 의 어 지 러 운 코드 해결 방법 (ant 실행 자바)

자바 코드 를 실행 하기 위해 다음 과 같은 ant target 이 있 습 니 다.
	<target name="shanhy" depends="compile">
		<!--       java     -->
		<java classname="Test" fork="true" failonerror="true">
			<!--       java  class   -->
			<classpath path="F:\androidWorkspace\apkPacker\bin">
			</classpath>
		</java>
	</target>

위의 코드 에서 classname 은 자바 류 에 가방 이름 을 포함 한 이름 'com. shanhy. demo. packers. Test' 를 써 야 합 니 다. 저 는 일부러 'Test' 만 잘못 썼 습 니 다.
eclipse 에서 ant 를 사용 하여 이 target 을 실행 합 니 다. 이 럴 때 다음 과 같은 난 장 판이 발생 합 니 다.
Buildfile: F:\androidWorkspace\Packers\build.xml
Trying to override old definition of task dex-helper
compile:
    [javac] F:\androidWorkspace\Packers\custom_rules.xml:59: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
shanhy:
     [java] ����: �Ҳ������޷��������� Test

BUILD FAILED
F:\androidWorkspace\Packers\custom_rules.xml:64: Java returned: 1

Total time: 1 second

실제 프로젝트 개발 에서 우 리 는 중국 어 를 많이 사용 할 수 있 습 니 다. 이런 어 지 러 운 상황 이 자주 발생 하여 구체 적 인 오류 원인 을 정확하게 판단 하지 못 할 수 있 습 니 다.
해결 방법 은 ant 가 실 행 될 때 출력 인 코딩 을 수정 하 는 것 입 니 다. (< sysproperty key = "file. encoding" value = "UTF - 8" / >) 를 추가 하면 콘 솔 에서 중국 어 를 정상적으로 표시 할 수 있 습 니 다. 다음 과 같 습 니 다.
	<target name="shanhy" depends="compile">
		<!--       java     -->
		<java classname="Test" fork="true" failonerror="true">
                        <sysproperty key="file.encoding" value="UTF-8" />
			<!--       java  class   -->
			<classpath path="F:\androidWorkspace\apkPacker\bin">
			</classpath>
		</java>
	</target>

출력 은 다음 과 같 습 니 다:
Buildfile: F:\androidWorkspace\Packers\build.xml
Trying to override old definition of task dex-helper
compile:
    [javac] F:\androidWorkspace\Packers\custom_rules.xml:59: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
shanhy:
     [java]   :            Test

BUILD FAILED
F:\androidWorkspace\Packers\custom_rules.xml:64: Java returned: 1

Total time: 1 second

우 리 는 지금 classname 을 정확하게 수정 합 니 다. 다음 과 같 습 니 다.
Buildfile: F:\androidWorkspace\Packers\build.xml
Trying to override old definition of task dex-helper
compile:
    [javac] F:\androidWorkspace\Packers\custom_rules.xml:59: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
shanhy:
     [java]    
BUILD SUCCESSFUL
Total time: 1 second

테스트 한 자바 클래스 코드 는:
package com.shanhy.demo.packers;

public class Test {

	/**
	 *   
	 * 
	 * @param args
	 * @author SHANHY
	 * @date   2015-8-18
	 */
	public static void main(String[] args) {
		System.out.println(args[0]);
	}

}

좋은 웹페이지 즐겨찾기