Eclipse IDE / Jpasskit无法配置

时间:2017-01-12 15:16:20

标签: java ios eclipse wallet passkit

新开始使用Eclipse IDE for Java Developers为我的一个新项目我必须为我的iphone项目配置Jpasskit。我创建了新的test.java文件。

eclipse项目浏览器:

enter image description here

public static void main(String [ ] args)
{

    String appleWWDRCA = "passbook/AppleWWDRCA.pem"; // this is apple's developer relation cert
    String privateKeyPath = "./privateKey.p12"; // the private key you exported from keychain
    String privateKeyPassword = "password"; // the password you used to export
    try {

    PKSigningInformation pkSigningInformation = PKSigningUtil.
            loadSigningInformationFromPKCS12FileAndIntermediateCertificateFile(
            privateKeyPath, privateKeyPassword, appleWWDRCA);

    PKPass pass = new PKPass();
    pass.setPassTypeIdentifier("pass.com.yourdomain.type");
    pass.setAuthenticationToken("vxwxd7J8AlNNFPS8k0a0FfUFtq0ewzFdc");
    pass.setSerialNumber("12345678000");
    pass.setTeamIdentifier("abcdefg"); // replace this with your team ID
    pass.setOrganizationName("your org");
    pass.setDescription("some description");
    pass.setLogoText("some logo text");

    PKBarcode barcode = new PKBarcode();
    barcode.setFormat(PKBarcodeFormat.PKBarcodeFormatPDF417);
    barcode.setMessageEncoding(Charset.forName("iso-8859-1"));
    barcode.setMessage("123456789");
    pass.setBarcode(barcode);

    PKGenericPass generic = new PKGenericPass();
    List<PKField> primaryFields = new ArrayList<PKField>();
    PKField member = new PKField();
    member.setKey("mykey"); // some unique key for primary field
    member.setValue("myvalue"); // some value
    primaryFields.add(member);
    generic.setPrimaryFields(primaryFields);
    pass.setGeneric(generic);

    PKLocation location = new PKLocation();
    location.setLatitude(37.33182); // replace with some lat
    location.setLongitude(-122.03118); // replace with some long
    List<PKLocation> locations = new ArrayList<PKLocation>();
    locations.add(location);
    pass.setLocations(locations);

    if (pass.isValid()) {
        String pathToTemplateDirectory = "./mypass.raw"; // replace with your folder with the icons
        byte[] passZipAsByteArray = PKSigningUtil.
                createSignedAndZippedPkPassArchive(pass, pathToTemplateDirectory, pkSigningInformation);

        String outputFile = "./mypass.pkpass"; // change the name of the pass
        ByteArrayInputStream inputStream = new ByteArrayInputStream(passZipAsByteArray);
        IOUtils.copy(inputStream, new FileOutputStream(outputFile));
        System.out.println("Done!");
    } else {
        System.out.println("the pass is NOT Valid man!!!");
    }
} catch (Exception e) {
    e.printStackTrace();
    System.out.println("failed!");
}
}

当我运行此代码作为应用程序即时获取此错误。 enter image description here

我不知道我做错了什么?

我不确定我是否导入了项目.. 或classpth问题。 或者我的样本中可能有问题。

1 个答案:

答案 0 :(得分:0)

你安装了蚂蚁吗? ANT_HOME,CLASSPATH和JAVA_HOME设置了吗? JAVA_HOME与项目使用的jdk相同吗?