热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

antjavacUnknownSource问题

安装Nginx配置负载均衡solr查询参数说明antjavacUnknownSource问题发表于:2009年3月25日|分类:java|标签ÿ
« 安装 Nginx 配置负载均衡 solr 查询参数说明 »

ant javac Unknown Source 问题

发表于:2009年3月25日 | 分类:java | 标签:ant, javac | views(2,568)

版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原文出处, 即下面的声明.

原文出处:http://blog.chenlb.com/2009/03/ant-javac-unknown-source.html

项目中,我一般用ant编译打包,然后放到服务器中运行。但运行时候可能会有错误,抛出异常时看不到代码在几行出问题,这个比较郁闷,还用使用行的javac编译再打包的不会,当然eclipse导出的也不会。还是解决下ant javac Unknown Source的问题吧。

找到几个资源:http://www.lslnet.com/linux/f/docs1/i28/big5226734.htm  ,http://www.jguru.com/faq/view.jsp?EID=1122360
说用

  1. <javac srcdir&#61;"src" destdir&#61;"target/classes"  
  2.          debug&#61;"true" debuglevel&#61;"lines, vars, source">  
  3.     ...   
  4. javac>  

debug&#61;"true" debuglevel&#61;"lines, vars, source">
...

java 测试下&#xff1a;

  1. package com.chenlb;   
  2.   
  3. public class Test {   
  4.   
  5.     /**  
  6.      * ant javac Unknown Source  
  7.      */  
  8.     public static void main(String[] args) {   
  9.         //ArrayIndexOutOfBoundsException  
  10.         String str &#61; args[0];   
  11.         System.out.println(str);   
  12.     }   
  13. }  

package com.chenlb;
public class Test {
/**
* ant javac Unknown Source
*/
public static void main(String[] args) {
//ArrayIndexOutOfBoundsException
String str &#61; args[0];
System.out.println(str);
}
}

运行&#xff1a;

  1. E:\workspace\build>java -cp .;unknown-source-0.1.jar com.chenlb.Test   
  2. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0   
  3.         at com.chenlb.Test.main(Unknown Source)  

E:\workspace\build>java -cp .;unknown-source-0.1.jar com.chenlb.Test
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at com.chenlb.Test.main(Unknown Source)

但是我用了了还是出现 Unknown Source。

后来把debuglevel去了&#xff0c;只保留debug&#xff0c;就可以了&#xff0c;debuglevel 加了不会想来想去不明白&#xff0c;试一下改为lines,vars,source即是把空格去了。就行了。

最终的&#xff1a;

  1. <target name&#61;"compile" depends&#61;"init">  
  2.     <javac srcdir&#61;"${src.java.dir}" destdir&#61;"${build.java.dir}"  
  3.         debug&#61;"true" debuglevel&#61;"lines,source"  
  4.         encoding&#61;"GBK" source&#61;"1.6" target&#61;"1.6">  
  5.         <classpath refid&#61;"project.classpath" />  
  6.     javac>  
  7. target>  


debug&#61;"true" debuglevel&#61;"lines,source"
encoding&#61;"GBK" source&#61;"1.6" target&#61;"1.6">



出现&#xff1a;

  1. E:\workspace\build>java -cp .;unknown-source-0.1.jar com.chenlb.Test   
  2. Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0   
  3.         at com.chenlb.Test.main(Test.java:10)  

任务和javac命令是相似&#xff0c;它编译两种类型的java文件1&#xff09;没有被编译的java文件2&#xff09;曾经编译过&#xff0c;但是class文件版本和当前对应的java文件版本不匹配的java文件。


1)javac命令支持的参数&#xff1a;


Attributes Description

srcdir  &#xff1a;必须的&#xff0c;除非嵌套有标签。包含源文件的文件夹

bootclasspath&#xff1a;编译过程中需要导入class文件会被导入

bootclasspathref&#xff1a;编译过程中需要引用的class文件夹目录

classpath&#xff1a;The class path to use. 文件夹中class会被导入的jar包

classpathref&#xff1a;文件夹中class文件会被引用的jar包

compiler &#xff1a;指定要使用的编译器。如果未设置该特性&#xff0c;将使用 build.compiler 属性的值&#xff08;如果设置&#xff09;。否则&#xff0c;将使用当前 VM 的默认编译器。
例子&#xff1a;设置环境变量 JIKESHOME 为 jikes 的路径
设置 ANT_OPTS&#61;-Dbuild.compiler&#61;jikes
将 jikes 路径添加到系统 PATH 中
然后在所有的ant任务就默认使用 jikes 了, 如果你想在单个工程中使用 ant, 就不要添加 ANT_OPTS 环境变量, 只需要修改 build.xml 中 javac 标签中的 compiler 为 jikes

debug&#xff1a; 当值未为true时产生调试信息

debuglevel&#xff1a; 相当于命令行中要追加到 -g 命令行开关后面的关键字列表。这将会被除 modern 和 classic(ver >&#61; 1.2) 以外的所有实现忽略。合法值是 none 或下列关键字的逗号分隔列表&#xff1a;lines、vars 和 source。如果不指定 debuglevel&#xff0c;则默认情况下&#xff0c;将不会在 -g 的后面追加任何关键字。如果不打开 debug&#xff0c;该特性将被忽略。

depend&#xff1a; 这个任务依赖的任务。当运行这个任务时&#xff0c;首先按照顺序依次执行完依赖的任务&#xff0c;如果出错将停止执行

deprecation&#xff1a; 假如为真&#xff0c;将会给出不建议使用的API&#xff0c;默认值false

destdir&#xff1a; 编译后文件存放的目标文件夹&#xff0c;默认是当前文件夹。

encoding&#xff1a;指定编码格式

excludes &#xff1a;必须排除的文件模式的列表&#xff0c;以逗号或空格分隔。如果忽略&#xff0c;将不会排除任何文件&#xff08;默认排除的文件除外&#xff09;。

excludesfile&#xff1a; 该文件的每一行都将作为一个 exclude 模式。
extdirs: Specifies an alternative location of installed extensions that overrides the default.

failonerror: 指定 clientgen Ant 任务在出现错误的情况下是否继续执行。 此特性的有效值为 True 或 False。默认值为 True&#xff0c;这意味着即使遇到错误也要继续执行。

fork: 为true时在外部启用一个新的JDK 编译器进程执行编译。默认值是true,应用在需要配置编译器运行时环境时

includeantruntime :指出是否应在类路径中包括 Ant 运行时程序库&#xff0c;默认为 yes。

includejavaruntime: 指出是否应在类路径中包括来自执行 VM 的默认运行时程序库&#xff0c;默认为 no。

includes: 必须包括的文件模式的列表&#xff0c;以逗号或空格分隔。如果忽略&#xff0c;将包括所有文件。
includesfile: 文件名。该文件的每一行都将作为一个 include 模式。

listfiles: 为真时显示被编译文件列表&#xff0c;默认为false
memoryinitialsize 如果 javac 在外部运行&#xff0c;则是底层 VM 的初始内存大小&#xff1b;否则将被忽略。默认为标准 VM 内存设置。&#xff08;例如&#xff1a;83886080、81920k 或 80m&#xff09;

memorymaximumsize: 如果 javac 在外部运行&#xff0c;则是底层 VM 的最大内存大小&#xff1b;否则将被忽略。默认为标准 VM 内存设置。&#xff08;例如&#xff1a;83886080、81920k 或 80m&#xff09;

nowarn: 为真时将忽略所有警告信息

optimize: 指出是否应该用优化方式编译源代码&#xff0c;默认为 off。

source&#xff1a; 假如设置为1.4,将激活断言。默认是1.3
sourcepath: 指定源资源文件夹。默认指向srcdir

sourcepathref: 指定你想引用资源

target: Specifies the VM version to generate class files for (for example, 1.1 or 1.3).

verbose: 控制生成消息的输出量。

2)compilerarg设置命令行参数&#xff1a;file,line,path,value.其中value直接指定编译参数&#xff0c;如-g。file,line,path没搜到示例&#xff0c;



推荐阅读
  • 在Java项目中,当两个文件进行互相调用时出现了函数错误。具体问题出现在 `MainFrame.java` 文件中,该文件位于 `cn.javass.bookmgr` 包下,并且导入了 `java.awt.BorderLayout` 和 `java.awt.Event` 等相关类。为了确保项目的正常运行,请求提供专业的解决方案,以解决函数调用中的错误。建议从类路径、依赖关系和方法签名等方面入手,进行全面排查和调试。 ... [详细]
  • 本文详细解析了Java类加载系统的父子委托机制。在Java程序中,.java源代码文件编译后会生成对应的.class字节码文件,这些字节码文件需要通过类加载器(ClassLoader)进行加载。ClassLoader采用双亲委派模型,确保类的加载过程既高效又安全,避免了类的重复加载和潜在的安全风险。该机制在Java虚拟机中扮演着至关重要的角色,确保了类加载的一致性和可靠性。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 本文探讨了如何在 Java 中将多参数方法通过 Lambda 表达式传递给一个接受 List 的 Function。具体分析了 `OrderUtil` 类中的 `runInBatches` 方法及其使用场景。 ... [详细]
  • oracle c3p0 dword 60,web_day10 dbcp c3p0 dbutils
    createdatabasemydbcharactersetutf8;alertdatabasemydbcharactersetutf8;1.自定义连接池为了不去经常创建连接和释放 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 本文主要探讨了Java中处理ActionEvent事件的接口,以及一些常见的编程问题和解决方案,包括方法重载、成员变量访问、镜片质量检测等。 ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • 字节流(InputStream和OutputStream),字节流读写文件,字节流的缓冲区,字节缓冲流
    字节流抽象类InputStream和OutputStream是字节流的顶级父类所有的字节输入流都继承自InputStream,所有的输出流都继承子OutputStreamInput ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文详细解析了客户端与服务器之间的交互过程,重点介绍了Socket通信机制。IP地址由32位的4个8位二进制数组成,分为网络地址和主机地址两部分。通过使用 `ipconfig /all` 命令,用户可以查看详细的IP配置信息。此外,文章还介绍了如何使用 `ping` 命令测试网络连通性,例如 `ping 127.0.0.1` 可以检测本机网络是否正常。这些技术细节对于理解网络通信的基本原理具有重要意义。 ... [详细]
  • 深入解析:Synchronized 关键字在 Java 中对 int 和 Integer 对象的作用与影响
    深入探讨了 `Synchronized` 关键字在 Java 中对 `int` 和 `Integer` 对象的影响。尽管初看此题似乎简单,但其实质在于理解对象的概念。根据《Java编程思想》第二章的观点,一切皆为对象。本文详细分析了 `Synchronized` 关键字在不同数据类型上的作用机制,特别是对基本数据类型 `int` 和包装类 `Integer` 的区别处理,帮助读者深入理解 Java 中的同步机制及其在多线程环境中的应用。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • R语言中向量(Vector)数据类型的元素索引与访问:利用中括号[]和赋值操作符在向量末尾追加数据以扩展其长度
    在R语言中,向量(Vector)数据类型的元素可以通过中括号 `[]` 进行索引和访问。此外,利用中括号和赋值操作符,可以在向量的末尾追加新数据,从而动态地扩展向量的长度。这种方法不仅简洁高效,还能灵活地管理向量中的数据。 ... [详细]
  • 为了在Hadoop 2.7.2中实现对Snappy压缩和解压功能的原生支持,本文详细介绍了如何重新编译Hadoop源代码,并优化其Native编译过程。通过这一优化,可以显著提升数据处理的效率和性能。此外,还探讨了编译过程中可能遇到的问题及其解决方案,为用户提供了一套完整的操作指南。 ... [详细]
author-avatar
love灬贪恋猫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有