2013-04-01 73 views
2

我要java類Currency.java和Price.java Price.java使用Currency.java等都有對它的引用。 我不能夠轉換兩個java類,其中一個是指另一個。 哪個是正確的命令語法?j2objc直接引用無法解析(用Maven結構/ src/main/java)

我的嘗試至今:

如果我使用j2objc轉換貨幣工作正常。

j2objc --verbose -d objective-c -sourcepath src/path/to/the/package Currency.java 

如果我使用j2objc到Price.java轉換(有或無Currency.java)我得到「貨幣解決不了」

terminal: 
j2objc --verbose -d objective-c -sourcepath src/path/to/the/package Currency.java Price.java 
translating Currency.java 
time: read=0.005 compile=0.613 translate=0.222 write=0.077 total=0.917 
translating Price.java 
error: Price.java:39: Currency cannot be resolved 
Translated 2 files: 1 errors, 0 warnings

我也試圖與包通配符*,但我得到了同樣的問題:

j2objc --verbose -d objective-c -sourcepath src src/path/to/the/package/* 

回答

5

我發現問題與Maven的src/main/java結構有關。

下面的命令將工作

j2objc -d objective-c -sourcepath src/main/java com/famenu/shared/model/menu/Currency.java com/famenu/shared/model/menu/Price.java 

雖然下面的2個命令不起作用:

j2objc -d objective-c -sourcepath src src/main/java/com/famenu/shared/model/menu/Currency.java csrc/main/java/com/famenu/shared/model/menu/Price.java 

j2objc -d objective-c src/main/java/com/famenu/shared/model/menu/Currency.java src/main/java/com/famenu/shared/model/menu/Price.java 

這意味着必須指定-sourcepath選項,必須指向路徑,其中包的目錄結構開始(包含com或org文件夾的目錄)。

+1

Thanks @Giorgio。我被困在這個多年了。做得好!!! –

+0

不客氣Pankaj!如果他們對你有用,就可以回答問題和/或問題;) – Giorgio

0

你試過在eclipse中使用插件嗎?它可以讓你頭痛。

http://hsapkota.com.au/index.php/projects/20-j2objc-eclipse-plugin-howto

它並不完美,因爲他們不再維護代碼。

+0

正如我在回答中所述,問題是由Maven使用的src/main/java文件夾引起的。 Eclipse插件具有相同的問題,因爲它不允許指定-sourcepath選項和源文件,所以它實際上根本無法使用。 :( – Giorgio

+0

其實你可以:右鍵點擊project-> properties->展開J2Objc - > Classpath - >選擇你的項目的sources文件夾,應該是列表中的列表項,就像是魅力:) – Lake