2013-03-12 61 views
0

我無法在螞蟻和eclipse中爲我的項目製作課程。無法從螞蟻編譯,但從命令行工作,爲什麼?

我正在使用eclipse juno + wptant 1.7

我正在將一家名爲CrediCard的信用卡公司在委內瑞拉的付款平臺集成到一個已經在工作的網站上。

我們收到包含以下zip格式:使用

package structure received by bank

進出口Debian的自開發,編譯和運行我們被我們需要一個稱爲依賴銀行intsructed項目:

libc6.1-1.so.2

項目所需的運行,我真的不明白。 也因爲生產操作系統它也聯deb。

該封裝具有稱爲ejemplodigest.java,與所述指令的源例如編譯它是這樣的:

javac -classpath /home/DigestJavaLinux/classes ejemplodigest.java 

並以這樣運行:

java -Djava.library.path=/home/DigestJavaLinux/lib/ -classpath /home/DigestJavaLinux/:/home/DigestJavaLinux/classes ejemplodigest 

這些命令完全上運行命令行。運行它的依賴項libc6.1-1.so.2必須安裝在debian中。

當我在我的項目中包含相應的行並將類路徑添加到ant的javac任務時,我甚至無法甚至用ant編譯代碼。我得到的錯誤

symbol : class OasisEMSecIm 
    [javac] location: class com.bamboo.catW3.business.impl.MainHtmlController 
    [javac]   OasisEMSecIm digest= new OasisEMSecImp(); 

在類的聲明,以及進口:

import OasisEM.*; 
import eMerchantServlet.*; 

都沒有發現:

OasisEM does not exist. 

這是給定的例子來源:

//import OasisEM.*; 
import java.*; 
// import eMerchantServlet.*; 

class ejemplodigest { 
    public static void main(String args[]) { 
     String varMerchant = "00260364";  // Merchant ID 
     String varStore = "0";     // Store ID 
     String varTerm = "4001";    // Term ID 
     String varTotal = "12345445";   // Monto de Transaccion 
     String varCurrency = "937";    // Codigo de Moneda 
     String varOrder_id = "444444";   // Order Id 
     String varDigest;      // Valor de Digest 


     OasisEMSecImp digest= new OasisEMSecImp(); 
     varDigest = digest.getDigest(varTotal,varOrder_id,varMerchant,varStore,varTerm,varCurrency); 

     System.out.println ("Merchant ID :" + varMerchant); 
     System.out.println ("Store ID :" + varStore); 
     System.out.println ("Term ID :" + varTerm); 
     System.out.println ("Total :" + varTotal); 
     System.out.println ("Currency :" + varCurrency); 
     System.out.println ("Order ID :" + varOrder_id); 
     System.out.println ("Digest " + varDigest); 

    } 
} 

我無法讓Eclipse重寫gnise他們要麼,我已經嘗試將類文件夾添加到Eclipse中,使該類成爲一個jar並添加它。

我檢查並且路徑被ant任務正確接收,所有其他依賴關係工作正常。

ANT問題:爲什麼示例源代碼是用命令行編譯的,但是當向我的項目中的某個方法添加相同的行並將類路徑添加到類文件夾時,它不會編譯?

Eclipse問題:我如何讓Eclipse識別類OasisEMSecImp?

UPDATE

你好,螞蟻文件是有點長,怎麼過我會貼上我認爲是相關的部分:

<path id="library.digest.classpath"> 
      <pathelement location="../../digest/classes"/> 
     </path> 

<path id="catw.module.classpath"> 
     <path refid="library.blazeds.classpath"/> 
     <path refid="library.hibernate3.classpath"/> 
     <path refid="library.jta.classpath"/> 
     <path refid="library.log4j.classpath"/> 
     <path refid="library.mail.classpath"/> 
     <path refid="library.oreilly.classpath"/> 
     <path refid="library.spring-2.0.7.classpath"/> 
     <path refid="library.velocity.classpath"/> 
     <path refid="library.jexcel.classpath"/> 
     <path refid="library.tomcat_5.classpath"/> 
     <path refid="library.digest.classpath" /> 
     <pathelement location="../catw-common/build/catw-common.jar"/> 
    </path> 


<javac destdir="${catw.output.dir}" debug="${compiler.debug}" nowarn="${compiler.generate.no.warnings}" memorymaximumsize="${compiler.max.memory}" fork="true"> 
      <compilerarg line="${compiler.args.catw}"/> 
      <bootclasspath refid="catw.module.bootclasspath"/> 
      <classpath refid="catw.module.classpath"/> 
      <src refid="catw.module.sourcepath"/> 
      <patternset refid="excluded.from.compilation.catw"/> 
     </javac> 

我調試的catw.module.classpath並且位置是正確的。

非常感謝您提前。

+0

粘貼你的螞蟻文件。 – StarPinkER 2013-03-12 00:25:26

+0

傑梅因你好。我相信我已經正確設置了類路徑。我用新的類路徑更新了這個問題。感謝您的幫助 – Ernest 2013-03-12 17:04:36

回答

0

我已經理解了這個問題,並找到了解決我的情況的方法,我在我的answer in this question中解釋它。

希望它可以幫助別人。

0

我想你沒有正確設置你的路徑。您在路徑元素中使用相對路徑。所以請確保您的項目基礎設置正確。您可能還需要將verbose設置爲true以獲取一些有用的提示。

+0

我打印路徑作爲調試幫助,它的正確性! – Ernest 2013-03-14 23:13:10

相關問題