Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

javac error when using jar file : cannot find symbol

 
Powah Wong
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I create the jar file MyJCESP.jar from MyWrapperAbstract.java & MyWrapperData.java.
The DeriveKeyDemo.java use this jar file but compiling it result in the "cannot find symbol" error.
Please help.

//////////////////////////////
// MyWrapperAbstract.java
//////////////////////////////

package com.mycomp.cryptox;

import com.mycomp.crypto.*;

import java.security.*;
import java.security.spec.*;
import javax.crypto.*;

public abstract class MyWrapperAbstract extends KeyGeneratorSpi {
// ...
}


//////////////////////////////
// MyWrapperData.java
//////////////////////////////

package com.mycomp.cryptox;

import com.mycomp.crypto.*;

import java.security.*;
import java.security.spec.*;
import javax.crypto.*;

class MyWrapperData extends MyWrapperAbstract {
// ...
}

MyWrapperAbstract.java & MyWrapperData are compiled to create the jar file MyJCESP.jar.


//////////////////////////////
// DeriveKeyDemo.java
//////////////////////////////
import java.io.*;
import java.util.*;
import java.security.*;
import java.security.cert.*;
import javax.crypto.*;
import javax.crypto.spec.*;
import javax.crypto.interfaces.*;

import com.mycomp.cryptox.*; // Load MyJCEProvider classes
import com.mycomp.crypto.*; // Load MyJCAProvider classes


public class DeriveKeyDemo
{
public static void main(String[] args)
{
try
{
keyDerivator = MyWrapperData.getInstance("DES", "MyJCEProvider");
keyDerivator.initialize(keyGen, 1024);

// ...
}
}
}

CLASSPATH is setup as below:
$ export CLASSPATH=/home/powah/jdk1.6.0_06/jre/lib/ext/MyJCASP.jar:/home/powah/jdk1.6.0_06/jre/lib/ext/MyJCESP.jar


$ javac DeriveKeyDemo.java
^
DeriveKeyDemo.java:94: cannot find symbol
symbol : method getInstance(java.lang.String,java.lang.String)
location: class com.mycomp.cryptox.MyWrapperData
keyDerivator = MyWrapperData.getInstance("DES", "MyJCEProvider");
^
DeriveKeyDemo.java:95: cannot find symbol
symbol : method initialize(javax.crypto.KeyGenerator,int)
location: class com.mycomp.cryptox.MyWrapperData
keyDerivator.initialize(keyGen, 1024);
^
2 errors
 
Rob Spoor
Sheriff
Pie
Posts: 20669
65
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
First of all, please Use Code Tags.

Did you create these two methods? You've left out the bodies of these classes, so I can't check. I do know that they don't inherit these methods from KeyGeneratorSpi, so you will need to implement them.

Edit: I found the getInstance method inside class KeyGenerator, but that class has no direct relationship with KeyGeneratorSpi. As for a method called initialize that takes a KeyGenerator, there is none in the API.
 
Powah Wong
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I create them.
What are the reasons that "javac error when using jar file : cannot find symbol"?
 
Campbell Ritchie
Sheriff
Pie
Posts: 50258
79
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Which symbol can't it find? Where is it used?
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic