0

私はaspectjを使うのが初めてで、これが非常に単純な質問である場合は非常に申し訳ありません。しかし、何日もインターネットで検索しても問題は解決できませんでした。Eclipseを使用して作成されたaspectjプロジェクトがあります。Eclipseで完全に実行およびコンパイルされます。Eclipseを介して有効な実行可能なjarを作成することもできます。
残念ながら、コマンドラインで同じプロジェクトをコンパイルすることはできません。コンパイルエラーは次のとおりです。

egeyar@paris:~/workspace/FirstAspectJProject/src/hello$ ajc World.aj HelloWorld.java 
/home/egeyar/workspace/FirstAspectJProject/src/hello/World.aj:75 [error] Type mismatch: cannot convert from int to Object  
objList[i]=list[i]; //copy to object list in order to use Arrays.deepToString
           ^^

/home/egeyar/workspace/FirstAspectJProject/src/hello/World.aj:85 [error] Type mismatch: cannot convert from char to Object  
objList[i]=list[i];//copy to object list in order to use Arrays.deepToString
           ^^

/home/egeyar/workspace/FirstAspectJProject/src/hello/World.aj:96 [error] Type mismatch: cannot convert from byte to Object  
objList[i]=list[i];//copy to object list in order to use Arrays.deepToString
           ^^

/home/egeyar/workspace/FirstAspectJProject/src/hello/World.aj:107 [error] Type mismatch: cannot convert from short to Object  
objList[i]=list[i];//copy to object list in order to use Arrays.deepToString
           ^^

/home/egeyar/workspace/FirstAspectJProject/src/hello/World.aj:118 [error] Type mismatch: cannot convert from long to Object  
objList[i]=list[i];//copy to object list in order to use Arrays.deepToString
           ^^

/home/egeyar/workspace/FirstAspectJProject/src/hello/World.aj:129 [error] Type mismatch: cannot convert from float to Object  
objList[i]=list[i];//copy to object list in order to use Arrays.deepToString
           ^^

/home/egeyar/workspace/FirstAspectJProject/src/hello/World.aj:140 [error] Type mismatch: cannot convert from double to Object  
objList[i]=list[i];//copy to object list in order to use Arrays.deepToString
           ^^

/home/egeyar/workspace/FirstAspectJProject/src/hello/World.aj:151 [error] Type mismatch: cannot convert from boolean to Object  
objList[i]=list[i];//copy to object list in order to use Arrays.deepToString
           ^^

8 errors

誰かが私に少なくともヒントを与えることができれば私はうれしいです。eclipseでコードを受け入れるが、コマンドラインでは受け入れない理由は何でしょうか?それはクラスパスエラー(私は何も知りません)ですか、それともコンパイラバージョンの問題などが原因でしょうか。

4

1 に答える 1

0

Eclipseとシステム(bash)で異なるコンパイラーを使用している可能性があります。

また、コンパイルエラーは、型の不一致について説明しています。これは、間違ったクラスのオブジェクトがメソッドによって受け入れられたことを意味します。

コードに応じていくつかの解決策がありますが、Eclipseでコンパイルする場合はそれを使用してください。

アスペクトJのドキュメントでは、必要がない場合は.ajを使用しないように提案されているため、拡張子も変更しようとします。

そしてこの バグ

于 2012-09-28T08:59:11.153 に答える