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