1

次のコードを使用して、BouncyCastle暗号ライブラリをテストします。

import java.security.Security;

public class SimpleTest {

    public static void main(String[] args)
    {
        String providerName="BC";

        if (Security.getProvider(providerName)==null)
        {
            System.out.println(providerName + "provider not installed");
        }
        else
        {
            System.out.println(providerName + "is installed");
        }
    }
}

ただし、Eclipseには「BCproviderがインストールされていません」と表示され、EditPlusには「BCがインストールされています」と表示されます。

この違いは何ですか?

4

3 に答える 3

0

あなたの日食のどこかに、それを見つけることができないライブラリがありません。Eclipseで構成を修正する必要があります。

于 2012-09-21T17:55:13.797 に答える
0

実際には、違いは Java の静的セキュリティ プロバイダーの構成にある可能性があります。プロバイダーを使用できるようにするには、何らかの方法でプロバイダーを登録する必要があります。Java ランタイムを変更できない場合は、適切に署名されていれば動的に登録 できます。

于 2012-12-02T18:28:55.570 に答える
0

違い?Javaランタイムが異なれば、エラーメッセージも異なる可能性があると思います。

IMHO、基礎となるJREが同じであることを確認しない限り、違いはEclipseとtexteditorの間ではなく、Java SE 7u7とJava SE 6u35の間です(たとえば)。

とにかく、それは実際の問題ではありませんが、プロバイダー jar をクラスパスに効果的にデプロイして登録することです。

于 2012-09-21T18:56:14.547 に答える