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>

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-03 15:07:25

eclipse中ant build 控制台乱码解决解决方法(ant执行java)的相关文章

在Eclipse中使用Propertites Editor插件来解决property文件中文显示乱码

在一般情况下,propertites文件在eclipse中的显示中文一直显示乱码,想要解决这个问题,需要通过在eclipse中安装一个Propertites Editor插件来进行解决. 在Eclipse Marketplace中选择Propertites Editor,   插件安装: 安装后,propertits文件可以通过此工具来打开: 作者:sdjnzqr 出处:http://www.cnblogs.com/sdjnzqr/ 版权:本文版权归作者和博客园共有 转载:欢迎转载,但未经作者同

eclipse中修改tomcat的配置,解决全局性的get提交乱码问题

在项目中如果页面提交方式为get的时候,中文会出现乱码. 为了解决乱码问题我们有两种办法. 第一种:在程序中加入get提交乱码的解决 String username = new String(username.getBytes("ISO-8859-1"),"UTF-8"); 这种方式只要有需要,每个方法都需要添加get乱码问题的解决代码,总的看来还是挺麻烦的. 第二种:直接修改tomcat的配置,一次性的解决全局get提交乱码问题. 1.eclipse中找到你的项目

eclipse中自动生成javadoc文档的方法

?这篇文章主要介绍了eclipse中自动生成javadoc文档的方法,是实用eclipse开发Java程序时非常实用的技巧,对于进行Java项目开发具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例讲述了eclipse中自动生成javadoc文档的方法.分享给大家供大家参考.具体方法如下: 使用eclipse生成文档(javadoc)主要有三种方法: 1. 在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步. 在Jav

(转)在Eclipse中进行C/C++开发的配置方法(20140721最新版)

因准备考试原因需要在windows下配置C++标准运行环境,找到此文,Mark之. 先列举下自己遇到的情况: 1 JRE安装不上,点了exe文件后没有反应:   安装JDK!!! 2 Eclipse找不到JRE:   将jdk安装目录下的jre文件夹,copy到eclipse根目录下. 3 没有按原文所说的改名字.运行正常. 原贴地址: http://blog.csdn.net/baimafujinji/article/details/38026421 Eclipse 是一个开放源代码的.基于J

转:在Eclipse中进行C/C++开发的配置方法(20140721最新版)

http://blog.csdn.net/baimafujinji/article/details/38026421 Eclipse 是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.——语出百度百科. 简单的说Eclipse 是免费的开源的Java IDE,而且非常好用,特别是引入一些可扩展的插件后,它的功能可以变得非常强大. 但其实Eclipse不仅可以用来进行Java编程,它所支持的语言是多种多样的,C.C++.Ada.

在Eclipse中进行C/C++开发的配置方法(20140721最新版)

Eclipse 是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.--语出百度百科. 简单的说Eclipse 是免费的开源的Java IDE,而且非常好用,特别是引入一些可扩展的插件后,它的功能可以变得非常强大. 但其实Eclipse不仅可以用来进行Java编程,它所支持的语言是多种多样的,C.C++.Ada.Python.PHP等等.在Windows下,很多人习惯于在Visual C++(或者说是Visual Studio)

eclipse中maven项目的问题:解决Dynamic Web Module x.x requires Java x.x or newer.的问题

昨晚上close project 后,今天起来open project发现出现这个问题.现在解决了. 强调一下.之前用eclipse创建maven项目的时候,web.xml文件默认版本是2.3的,但是我改成了3.1的,具体修改是: 到tomcat找到web.xml复制里面的这个过来就行了. 解决方案: 第一:添加下面的配置到 pom.xml中. <build> <plugins> <plugin> <groupId>org.apache.maven.plug

Eclipse中项目崩溃,使用MyEclipse解决

今天在项目中,Eclipse  中Rwenjian崩溃,导致项目全是红 叉 而且不提示任务错误信息. 无奈之下想起了MyEclipse这个老大. 将项目拷贝到MyEclipse目录下. 之后,在MyEclipse中,xml文件编译错误竟然显示出来了. 有些事情,还是需要钱,白来的就是不行啊. 希望大家以后都使用AndroidStudio

Java项目导出源代码jar包在Eclipse中查看中文注释乱码的问题

问题现场: 由于项目比较多,全部添加到Maven主项目中的话虽然更新调试方便,但项目多了严重影响Eclipse的速度,所以将一部分项目单独导出包含源代码的jar包,上传到nexus上,供其它项目引用:但是在引用的项目中通过Eclipse查看时,中文注释都变成了乱码. 其实这是eclipse的默认编码造成的问题. 解决方案: 1.修改Eclipse中文本文件的默认编码: windows->Preferences->general->Workspace->Text file encod