[Programming] Làm sao để Compile từ .java sang .class |
20/12/2006 12:53:22 (+0700) | #1 | 31542 |
|
Echip HN
Member
|
0 |
|
|
Joined: 20/12/2006 00:43:12
Messages: 2
Offline
|
|
Do yêu cầu công việc nên mình cần phải Compile một số file .java sang .class nhưng mà mình chưa biết làm thế nào ?
Có được một số bạn bảo dùng cái SDK gì đó của SUN nhưng mà sau khi cài vào mình thấy nó rất nặng và không biết dùng thế nào ?! :?
Bạn nào có thể hướng dẫn mình một cách cụ thể 1 chút được không ?
( Mình hay nghịch phần mềm nhưng lập trình thì mù tịt - biết mỗi tí tẹo pascal từ ngày cấp 3 -)) )
Thx |
|
|
|
|
[Question] Làm sao để Compile từ .java sang .class |
20/12/2006 18:02:31 (+0700) | #2 | 31567 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Echip HN wrote:
Do yêu cầu công việc nên mình cần phải Compile một số file .java sang .class nhưng mà mình chưa biết làm thế nào ?
Có được một số bạn bảo dùng cái SDK gì đó của SUN nhưng mà sau khi cài vào mình thấy nó rất nặng và không biết dùng thế nào ?! :?
Bạn nào có thể hướng dẫn mình một cách cụ thể 1 chút được không ?
( Mình hay nghịch phần mềm nhưng lập trình thì mù tịt - biết mỗi tí tẹo pascal từ ngày cấp 3 -)) )
Thx
Đọc cái này:
http://java.sun.com/docs/books/tutorial/getStarted/cupojava/win32.html#win32-2b
Nếu số lượng .java nhiều và phức tạp (đòi hỏi nhiều thư viện hỗ trợ) thì bồ nên nhờ ai đó rành java giúp. Còn không, bồ cần làm quen với cách tạo và compile java, cách đóng gói, cách khởi động và sử dụng.
Hướng dẫn cụ thể nên khởi đầu bằng:
http://java.sun.com/docs/books/tutorial/getStarted/index.html
Thân mến. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Question] Re: Làm sao để Compile từ .java sang .class |
21/12/2006 11:05:22 (+0700) | #3 | 31726 |
|
Echip HN
Member
|
0 |
|
|
Joined: 20/12/2006 00:43:12
Messages: 2
Offline
|
|
Thx bác - em theo hướng dẫn thì đã compile được rồi ( tuy nhiên phải CD đến thư mục cài là C:\Program Files\Java\jdk1.6.0\bin và cho file .java vào đó rồi mới gõ lệnh javac tenfile.java )
Nhưng mà lại nảy sinh 1 vấn đề là file .java đó em Decompile từ 1 file .class - rồi sau đó edit lại các phần chú thích trong đó - rồi Compile lại để thành .class như ban đầu thì lại có hàng chục, hàng trăm lỗi xuất hiện trong thông báo khi Compile. Quá trình mô tả bằng hình sau:
.Class --->DeCompile và Edit các chú thích--> .java ----> Compile bằng javac ---> lỗi !?
Mà rõ ràng rằng em chỉ edit các phần chú thích màu xanh mà thôi - tức là các chú thích sau dấu //
Đây là VD 1 file .class em đã DeCompile
Code:
import java.io.IOException;
import java.io.InputStream;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.rms.RecordStore;
public final class a
implements Runnable
{
public a(Graphics g)
{
b_boolean_fld = false;
a_int_fld = -1;
b_int_fld = -1000;
a_javax_microedition_lcdui_Image_array1d_fld = new Image[7];
a_short_array2d_fld = new short[7][2];
a_b_fld = new b();
c = 0;
d = 0;
a_boolean_fld = false;
b();
c = a_javax_microedition_lcdui_Image_array1d_fld[6].getHeight();
a_java_lang_Thread_fld = new Thread(this);
a_java_lang_Thread_fld.start();
a_javax_microedition_lcdui_Graphics_fld = g;
b_int_fld = -1 * c;
}
public final void a()
{
a_javax_microedition_lcdui_Graphics_fld.drawImage(a_javax_microedition_lcdui_Image_array1d_fld[6], 0, b_int_fld, 20);
if(a_boolean_fld)
a_javax_microedition_lcdui_Graphics_fld.drawImage(a_javax_microedition_lcdui_Image_array1d_fld[d], a_short_array2d_fld[d][0], a_short_array2d_fld[d][1], 20);
}
public final int a()
{
if(d >= 5)
d = 0;
else
d++;
return d;
}
public final int b()
{
if(d <= 0)
d = 5;
else
d--;
return d;
}
public final void b()
{
String as[] = RecordStore.listRecordStores();
InputStream inputstream = null;
boolean flag = false;
boolean flag1 = false;
if(as != null)
{
int i = 0;
do
{
if(i >= as.length)
break;
if(as[i].indexOf("Skin_") != -1)
{
flag1 = true;
break;
}
i++;
} while(true);
}
if(!flag1)
inputstream = getClass().getResourceAsStream("/data/SKIN.DAT");
try
{
for(byte byte0 = 0; byte0 < 7; byte0++)
{
a_short_array2d_fld[byte0][0] = (short)inputstream.read();
a_short_array2d_fld[byte0][1] = (short)inputstream.read();
short word0;
byte abyte0[] = new byte[word0 = (short)a_b_fld.a(inputstream)];
for(int j = 0; j < word0; j++)
abyte0[j] = (byte)inputstream.read();
a_javax_microedition_lcdui_Image_array1d_fld[byte0] = Image.createImage(abyte0, 0, word0);
}
inputstream.close();
return;
}
catch(IOException _ex)
{
return;
}
}
public final void run()
{
while(!b_boolean_fld)
{
switch(a_int_fld)
{
default:
break;
case 1: // '\001'
if(b_int_fld < 0)
{
b_int_fld++;
d = 0;
} else
{
a_boolean_fld = true;
}
break;
case -1:
a_boolean_fld = false;
if(b_int_fld > -1 * c)
{
b_int_fld--;
d = 0;
}
break;
}
try
{
Thread.sleep(e);
}
catch(InterruptedException _ex) { }
}
}
public Thread a_java_lang_Thread_fld;
private static int e = 10;
private boolean b_boolean_fld;
public int a_int_fld;
public int b_int_fld;
private Image a_javax_microedition_lcdui_Image_array1d_fld[];
public short a_short_array2d_fld[][];
private b a_b_fld;
public Graphics a_javax_microedition_lcdui_Graphics_fld;
public int c;
public int d;
public boolean a_boolean_fld;
}
Ngay lập tức sau Decompile em lại save thành .java rồi Compile thì cũng gặp bảng thông báo lỗi - dù chưa sửa chút nào:
Ngoài ra các file khác cũng bị như vậy - sau khi thử vài file nữa trong bộ đó - Ko hiểu tại sao nhỉ ?
|
|
|
|
|
[Question] Làm sao để Compile từ .java sang .class |
21/12/2006 18:54:52 (+0700) | #4 | 31783 |
|
tuantub
Member
|
0 |
|
|
Joined: 15/08/2006 06:45:48
Messages: 81
Offline
|
|
tất cả các class của java phải lấy tên với chữ cái đầu viết hoa, "a.java" và "class a" là không đúng |
|
|
[Question] Re: Làm sao để Compile từ .java sang .class |
21/12/2006 19:06:28 (+0700) | #5 | 31786 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Chào Echip HN,
Tất cả những lỗi "cannot find symbol" là do các thư viện hỗ trợ cho class đó không có trên classpath trong quá trình biên dịch. Bồ không nên "hack" ngang xương thế này mà nên nghiên cứu thêm các đòi hỏi cơ bản cho việc biên dịch java class.
Thân mến. |
|
What bringing us together is stronger than what pulling us apart. |
|
|