ant と eclipse の両方で、プロジェクトでクラスを使用できるようにするのに問題があります。
私は eclipse juno+wptとant 1.7を使用しています。
ベネズエラの CrediCard というクレジット カード会社の支払いプラットフォームを、既に稼働しているサイトに統合しています。
以下を含む .zip パッケージを受け取りました。
私は開発にdebianを使用しています。プロジェクトをコンパイルして実行するには、銀行から次の依存関係が必要であると指示されました。
libc6.1-1.so.2
プロジェクトを実行するために必要ですが、よくわかりません。また、本番OSもdebianではないためです。
このパッケージには、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にそれらを認識させることもできません。クラスフォルダーをEclipseに追加し、クラスをjarにして追加しようとしました。
私がチェックしたところ、パスはantタスクによって正しく受信され、他のすべての依存関係は正常に機能しています。
ANT 質問: サンプル ソースはコマンド ラインでコンパイルされるのに、プロジェクトのメソッドに同じ行を追加し、クラス フォルダーにクラスパスを追加するとコンパイルされないのはなぜですか?
Eclipse の質問: Eclipse にクラス OasisEMSecImp を認識させるにはどうすればよいですか?
アップデート
こんにちは、ant ファイルは少し長いですが、関連する部分と思われるものを貼り付けます。
<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 をデバッグしましたが、場所は正しいです。
事前にどうもありがとうございました。