java批量编译
⑴ ant批量编译java文件,当出错的时候需要输出错误信息,但是他只输出了100条记录,请问高手们:怎样才能设
运行ant命令时指定-logfile参数,例如:
ant -f build.xml -logfile release.log
⑵ java如何实现一次编译到处运行
JAVA之所以能实现一次编译,到处运行,是因为JAVA在每个系统平台上都有JAVA虚拟机(JVM),JAVA编译的中间文件class是由JAVA虚拟机在运行时动态转换为对应平台的机器代码.
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
Java 由四方面组成:
⑶ 如何用JAVAC一次性编译多个包下的JAVA文件
cd xxx
dir *.java/s/b > srclist.txt
or dir x:/yyy/zzz/*.java/s/b > srclist.txt
javac -cp .;xxx/yyy/zzz.jar;x/y/z.jar -d classes @srclist.txt
⑷ 怎样一次性编译一个包内所有的java文件
javac *.java,*是通配符
⑸ 在java中,有没有什么工具可以一次编译多个java文件
myeclipse 或者ant JBuilder 等 不过ant比较麻烦 可以用myeclise 新建一工程 在src里面编写java文件 点运行 就会把所有的java都编译了
⑹ Java 同一个包在cmd上多文件编译
javac的编译单位其实就是单个的java文件,为了达到同时编译多个java文件的目的,可以将所需编译的java文件路径保存在一个txt中,比如sourcelist.txt,以换行为分隔符(这个过程称为类文件注册)。这些java文件没有彼此联系的必要,它们可以是隶属不同的包、在不同的文件夹下(当然建议包路径相同的java类文件放在同一文件路径下),javac命令只会一行一行地读取其中的记录,作为一个单位进行类编译。
举例说明。假设你的这个包放在src文件夹下,src的父目录为project,sourcelist.txt也事先新建在project文件夹下。首先将这个包中你需要编译的java文件相对于src的路径(如src\com\test\Test.java)注册到sourcelist.txt文件中;接着在project文件夹中新建一个bin文件夹(或者class文件夹,命名随你乐意取),用以编译后class文件的放置(这个配以javac命令中-d选项去理解);如果还有其他类库(如jxl.jar或者mysql.jar),建议在project目录下新建一个lib(同样命名不限)文件夹,然后复制到该文件夹下(配以-classpath选项理解);最后检查上述准备工作都完成,win + R、输入cmd都不用讲,现在在cmd中用cd命令切换到project目录,然后输入命令:
javac -classpath lib/jxl.jar -sourcepath src @sourcelist.txt -d bin
现在就很好理解了。-d选项就是destination的意思,即生成class文件被送到该选项后面的bin文件夹;-classpath就是将你要用到的jar包注册到类加载路径中;-sourcepath就是告诉javac命令去哪里找类文件。
最后呢,为了方便,可以在project文件夹下新建一个bat文件,并输入以下内容:
javac -classpath lib/jxl.jar -sourcepath src @sourcelist.txt -d bin
@pause
这样每次直接点击即可,而你需要编译其他包的或者其他java文件,直接在sourcelist.txt文件中添加或修改。这其实也是一种“弱耦合”、模块化的表现。
⑺ 求解,自己写java编译类,如何解决批量使用javac -d命令时,编译错误提示代码中import
//调整节点大根堆
template<classT>
voidAdjustHeapNode(Ta[],inti,intn){//调整节点i,数组共有N个节点
if(n==1||i>(n-2)/2)//i为叶子节点(n-2)/2最后一个非叶子节点的位置
return;
intiLeft=2*i+1;
intiRight=2*i+2;
if(iRight<=n-1)//说明i有左右两个子节点三个节点找最大值
{
if(a[i]>=a[iLeft]&&a[i]>=a[iRight])//i最大不用调整
return;
if(a[i]<a[iLeft]&&a[iRight]<=a[iLeft])//iLeft最大
{
Ttemp=a[iLeft];
a[iLeft]=a[i];
a[i]=temp;
AdjustHeapNode(a,iLeft,n);
return;
}
if(a[i]<a[iRight]&&a[iLeft]<=a[iRight])//iRight最大
{
Ttemp=a[iRight];
a[iRight]=a[i];
a[i]=temp;
AdjustHeapNode(a,iRight,n);
return;
}
}else{//说明i只有左节点二个节点找最大值
//iLeft为最后一个节点
if(a[i]>=a[iLeft])
return;
else
{
Ttemp=a[iLeft];
a[iLeft]=a[i];
a[i]=temp;
AdjustHeapNode(a,iLeft,n);
return;
}
}
}
//建立堆
template<classT>
voidCreateHeap(Ta[],intn)
{
intiFirst=(n-1)/2;//第一个非叶子节点
for(;iFirst>=0;iFirst--)
{
AdjustHeapNode(a,iFirst,n);
}
}
//堆排序
template<classT>
voidHeapSort(Ta[],intn)
{
CreateHeap(a,n);
Ttemp;
for(inti=0;i<n-1;i++)
{
temp=a[n-1-i];
a[n-1-i]=a[0];
a[0]=temp;
AdjustHeapNode(a,0,n-1-i);
}
}
⑻ 如何用JAVAC一次性编译多个包下的JAVA文件
写一个文件source.txt,内容如下:
a/a1/a1.java
a/a2/a2.java
a/a3/a3.java
然后运行javac -d classes @source.txt