cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
3058
Views
0
Helpful
11
Replies

Call Studio 12 can't find jre 8 classes

skarahasan
Level 1
Level 1

We are hitting bug CSCvq13638, but the workaround offered by TAC doesn't really help much (TAC suggests to install a seperate ide and move it to CallStudio afterwards). Are there any other solutions for this which you can think of?

 

Issue:

We import our existing Java Projects into Call Studio 12. After building the application we get the errors below.

 

Errors:

The project was not built since its build path is incomplete. Cannot find the class file for java.io.ObjectInputStream. Fix the build path then try building this project

The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files

The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files

 

When we import the application, Call Studio puts the JRE library from Eclipse defaultly and this is JRE 8 as i understand from this path (C:\DEVEL\Cisco\CallStudio\eclipse\jre\bin)

If we change the Jre path to Jre 7, errors disappear but in this situation it means we can not work with Java 8 libraries.

 

As we search from internet, there ara some recommendations like removing the default jre and adding the same jre again, but it doesn’t work for us. Some developers say that this is a bug with Eclipse, and in the link below it says that Eclipse is only compatible with Java 8 after version 4.3.2 but our Call Studio’s Eclipse version is not upgraded, it’s again 3.7.2.

https://stackoverflow.com/questions/24727428/eclipse-error-java-lang-charsequence-cannot-be-resolved/28989940

 

And the other issue is when i open and build the same application in Netbeans IntelliJ ide with Java 8, there is no problem again. So i think this can be a bug with Eclipse version and Java version.

11 Replies 11

janinegraves
Spotlight
Spotlight
Cisco's stance (when I asked recently) is that you'll have to use a different IDE to develop and compile the Java 8 code.
But you can test it in Studio 12, and it'll work with the Studio Debugger and VXML Server.

I just got this from a former student:


Just to let you know, I found tools that I can use to build the JAVA classes outside of Studio Eclipse:

1. Visual Studio Code
2. Maven 3.3 (builds a nice project that is easy to build and creates a jar file pretty quickly).
3. Java SE Development Kit version 8

I was able to create the maven project quickstart archetype by using the maven command prompt interface outside of VS Code. I was also able to add the 4 jar files from the CVP server into my Maven project (pom.xml) pretty easily. I was then able to see our custom elements appear in call studio correctly.



You might also just install JRE 1.8 and then in Studio go to Window > Preferences. And select Java > Installed JREs.
Then press Add and point to the jre folder (eg, C:\ProgramFiles(x86)\Java\jre1.8.0)



You might also just install JRE 1.8 and then in Studio go to

   Window > Preferences.

And select Java > Installed JREs.

Then press Add and point to the jre folder (eg, C:\ProgramFiles(x86)\Java\jre1.8.0)

 

I'm not sure if this will actually work when you start loading in custom jar files. But it's worth a try.

Long time Janine Hope you are doing well.

 

Unfortunately, that doesn't work either.

In v 11.6(1), this was not an issue but upon migration to 12.5.1, compiling custom jars breaks. I have tried all possible combinations with JDK/JRE 1.8 from Oracle but no luck. I also have the Zulu Open JDK installed but Call Studio does not recognize the JRE/JDK for Open JDK.

 

So does this mean we have to build all custom code outside of Call Studio using other versions of Eclipse that support JDK 1.8 from Oracle and/or other Open JDK like Zulu JDK and just dump their finished product JAR file into Call Studio's Debug runtime for any custom CVP components built using Call Studio?

 

Please advise.

Yes, install another IDE and compile the code there. Then copy the compiled files to your studio app.

In class we use "eclipse ide for developers" and it's exactly like using studio's eclipse so an easy transition

 

 

Hi Janine

I read what you wrote. I have done all the operation, installed netbeans, imported project, compiled classes without problem, and put all compiled classes into call studio, but i have same iissue. What's wrong about it. I don't know how solve it... how did you solved it?

Thanks for your help

Fabio 

Hi Fabio. Remember that you have to copy the entire 'package' directory structure with the 'class' file to Call Studio, otherwise the class file isn't valid.
So if the java package is 'com.myCompany' and the class is 'Test1.class' then copy the directory com/myCompany/Test1.class into Call Studio Navigator into the appName/deploy/java/application/classes/com/myCompany/Test1.class.
Then when you deploy the app to VXMLServer, the class file will be in the correct location and running updateApp.bat will load it into memory.

 

Hi Janine

Thanks for your reply. Attached is my Eclipse project and its version. You will find error as well, same the original post.
I downloaded the version you wrote in the previous post  My Jre version is 1.8
The project opened without any problems and as you can see there are no errors during the import. Just for confirmation. In Eclipse I imported as "General=>Existing projects in workspace". Is this correct?
just uploaded all classes are recompiled, so I have a new version of all (I think)
After that I have copied entire package into Call Studio Navigator as you wrote. After that I have closed project and re-open it, but error is still present.
Can you help me to understand where I wrong? I 'm absolute sure i have make some mistake but I cannot to find where

thanks

Fabio

Screen2.png

 

 

 

Error.png

Screen1.png

If you see that compilation error in Eclipse IDE then the 'compiled class' code will not be valid and can't be used in Call Studio. It's crazy that Eclipse creates class files from java source code that has compilation errors, but I remember that as an issue.

You need to ensure that there are no compilation errors in your source code before copying the class files to Call Studio.

One issue I see is that your Java Build path has the servlet-2.3.jar and I believe that's an old version of the servlet, and it might be causing the problem.

The version of servlet to use is  servlet-api.jar  (I always used the one from VXMLServer\lib\ directory)
And remove servlet2.3.jar from the build path in case it contains classes that have the same name as in servlet-api.jar.

See if that helps at all.

Also, if your java code required any 3rd party jar files then you'll probably need to copy those jar files into VXMLServer/Tomcat/lib.
Some jar files go into other directories (VXMLServer/lib, etc). Post more information like the error(s) you're receiving and perhaps I can help further.

Are you compiling your classes for JRE 1.8 compliance?

If yes, and this is still failing and you are deploying your classes in the right folder as Janine shared, then instead of Netbeans, try Eclipse IDE for Java Developers (it is a different flavor or Eclipse) and import and compile your project in that version of Eclipse.