eclipse中ant build 控制台乱码解决解决方法(ant执行java)

简介:

有如下ant的target,为了执行java代码

	<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应该写java类包括包名的名称“ 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

测试的Java 类代码为:

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]);
	}

}











<target name="shanhy" depends="compile"><!-- 指明要调用的java类的名称 --><java classname="Test" fork="true" failonerror="true"><!-- 指明要调用的java类的class路径 --><classpath path="F:\androidWorkspace\apkPacker\bin"></classpath></java></target>

目录
相关文章
|
6月前
|
IDE 开发工具 Python
解决pycharm运行项目时控制台乱码
解决pycharm运行项目时控制台乱码
119 0
|
6天前
|
Java Android开发
Eclipse Java 构建路径
Eclipse Java 构建路径
16 3
|
25天前
|
Java Maven Android开发
【Azure Developer】VS Code打包Java maven Project 遇见 BUILD FAILURE
Unknown lifecycle phase "lean". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>
|
6月前
|
Java Android开发
在Eclipse环境下调试Java程序
在Eclipse环境下调试Java程序
80 1
|
1月前
|
IDE 开发工具
idea控制台出现乱码的解决方案
本文提供了解决IntelliJ IDEA控制台乱码问题的多种方法,包括设置项目编码、控制台编码、修改启动配置、修改IDE编码、检查系统环境设置以及更新IDE版本。
451 0
关于idea控制台乱码问题的解决办法
关于idea控制台乱码问题的解决办法
|
3月前
|
XML Java Maven
Java 中的 Maven 和 Ant 的区别
【8月更文挑战第22天】
169 0
|
3月前
|
Java 网络安全 开发工具
新手入门Java。如何下载Eclipse、写出最基本的“Hello word”以及如何连接github并且上传项目。
新手入门Java。如何下载Eclipse、写出最基本的“Hello word”以及如何连接github并且上传项目。
58 0
|
5月前
|
应用服务中间件 Windows
tomcat控制台打印乱码解决
tomcat控制台打印乱码解决
83 10
|
5月前
|
NoSQL 数据管理 关系型数据库
数据管理DMS操作报错合集之控制台查看Redis时出现乱码是什么导致的
数据管理DMS(Data Management Service)是阿里云提供的数据库管理和运维服务,它支持多种数据库类型,包括RDS、PolarDB、MongoDB等。在使用DMS进行数据库操作时,可能会遇到各种报错情况。以下是一些常见的DMS操作报错及其可能的原因与解决措施的合集。

推荐镜像

更多
下一篇
无影云桌面