System.TypeLoadException in windows app development - java

I am implementing liblinear in windows app using visual studio express 2013 for windows. After installing liblinear using nuget package manager(link is https://www.nuget.org/packages/Liblinear/) I was trying to use it:
using de.bwaldvogel.liblinear;
And in the code I typed :
Parameter para = new Parameter(SolverType.MCSVM_CS, 1.0 , 0.01);
but it gives error while running, stating:
An exception of type 'System.TypeLoadException'occured in FileExplorer.DLL but was not
handled in the user code.
Additional Information: Could not load type 'System.Runtime.Serialization.Iserializable
' from assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'.
If there is a handler for this exception, the program may be safely continued.
Also when nuget package is installed there are no errors but there are warnings stating
Reference to type 'System.Runtime.Serialization.ISerializable' claims it is defined in
'c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\mscorlib.dll',
but it could not be found (in IKVM.OpenJDK.Core.dll)
Reference to type 'System.Runtime.Serialization.SerializationInfo' claims it is defined
in 'c:\Program Files (x86)\ReferenceAssemblies\Microsoft\Framework\WindowsPhone\v8.0
\mscorlib.dll', but it could not be found (in IKVM.OpenJDK.Core.dll)
Could anyone help me out with this? I am developing app for windows phone 8.0.

Unfortunately, the ISerializable interface is not available for Windows Phone 8.x. :( Check out the Platforms section here. This thread has additional info as well.
Is the liblinear NuGet package supposed to be supported on Windows Phone? If so, I would get in contact with the author of the package directly.

Related

JPackage getting ERROR: Unknown exception caught trying to find MSI installer

I'm getting the following error in JPackage using JDK-19 and JavaFX-19. Same configuration used to work using JDK-18 and JavaFX-16. It builds the install image, but is missing the msi installer.
Required environment variables:
PATH_TO_FX = C:\Java\javafx-19\sdk\lib
PATH_TO_FX_MODS = C:\Java\javafx-19\jmods
JPackage Version 19
[2022/11/12 10:46:54.801, jpackage.dll (PID: 5696, TID: 11192), jpackage.cpp:155 (Java_jdk_jpackage_internal_WinExeBundler_embedMSI)]
ERROR: Unknown exception caught
[10:45:03.636] Running candle.exe
[10:45:03.647] Running C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe
[10:45:03.784] Running light.exe
[10:45:03.788] Running C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe
[10:45:03.989] Detected [candle.exe] version [3.11.2.4516].
[10:45:03.989] Detected [light.exe] version [3.11.2.4516].
[10:45:03.990] WiX 3.11.2.4516 detected. Enabling advanced cleanup action.
Any guidance or where I might get help is much appreciated.
Thank you
Unfortunately, I needed to replace my boot drive, which involved reinstalling Windows and WIX Toolkit and Java plus all the other stuff. The error no longer occurs. I have no idea what fixed it, the new SSD is built the same as the old with the same versions of all software. There is not a software migration history on the new SSD as there was on the old HD. I'm using the same procedures as before.
I hate when we fix things and not know why, but such is life.

Java Stored Procedure using MQ

I need to create a Java stored procedure in Oracle. I have used IBM's sample class for creating an MQ message from a simple class outside of Java EE environment. I have tested the class by itself and it is working.
My Oracle vesrion is 11i.
When I am trying to add the jars used in the simple application to load to Oralce along with my simple class, I am getting errors about class not found, even if same jars work with the test case. I am stuck with this for over a week and am desperately hoping that someone would be able to help me with it.
Kinds of errors I am getting are like this from -v flag with loadjava utility on the client
on line 326 / 327, you see this:
creating : class com/ibm/mq/jms/admin/AP loading : class
com/ibm/mq/jms/admin/AP
and then at the end starting from line 6224 to end, it indicates that the above class can’t be resolved:
com/ibm/mq/jms/admin/APRCXI: ORA-29534: referenced object
xxxx.com/ibm/mq/jms/admin/AP could not be resolved
com/ibm/mq/jms/admin/APSDX: ORA-29534: referenced object xxxx.com/ibm/mq/jms/admin/AP could not be resolved exiting : errors
resolving class com/ibm/mq/jms/admin/AP
the command I used is:
c:\Oracle\product\11.2.0\client_1\bin\loadjava.bat -f -jarsasdbobjects
-prependjarnames -stoponerror -u xxxx/yyyy#SID -v -resolve lib\jms.jar lib\com.ibm.mqjms.jar lib\com.ibm.mq.jmqi.jar lib\dhbcore.jar
lib\fscontext.jar src\com\test\javasp\mq\JmsProducer.java
I also tried with -genmissing option with some additional jars ( list I found here ), but still get similar error for a different class.
Other issue with this that I am facing is that if I get an error and try to use the dropjava command from Oracle, it doesn't work either.
I also saw from this link, that this person was successful, but unfortunately, he/she didn't indicate how they used loadjava to load the jars.
If i can provide any other information, please let me know.
If anyoneone has any idea on how to get the Java Stored Procedure to use IBM MQ working with Oracle 11i, I would really appreciate the help.
Found a detailed answer in this blog entry. I tried it and it worked for me.
In Oracle there is no concept of CLASSPATH, so the standard MQ Client install is useless. You can only load the jars reference by your app within the database schema. Classes are resolved when loaded with the -r option. You can further on specify your own resolved using -r -Resolver (schemas). (check Oracle docs for exact format). So in effect the database schemas becomes the classpath.
Using Websphere MQ classes for Java poses a number of problems, you have to ensure that the Oracle JDK version is at an appropriate support level to connect to the chosen MQ server version. Check the system requirements for websphere MQ Vx.x. You should find IBM's web references. check the support for MQ classed for java.
I have such an issue at the moment trying to connect to Mq using Oracle 10 and JDK 1.4.2. I had to recompile my Java code using JDK 1.4.x. This does not work and I assume it is because I connect to MQ 7.0.1.7 which requires JRE 1.7 as minimum.

Trying to install Sean Corfield's scripting for ColdFusion project, getting class not found errors

Hi I'm trying to install this tool 'Sean Corfield's scripting for ColdFusion project.' on my server - problem is I am getting "Class not found: com.caucho.quercus.script.QuercusScriptEngineFactory " errors, I have java 1.6 installed.... I'm not sure how where to get these extra classes ... any help?
[opensuse 11 system, CF8 java 1.6]
-thanks
-sean
Did you follow the installation instructions for the cfphp, as per the "example.cfm" page:
Installation:
1. Copy lib/quercus.jar and lib/resin-util.jar to WEB-INF/cfusion/lib/
(multiserver) or coldfusion8/lib (standalone)
2. Restart ColdFusion 8.
3. Optionally copy customtags/php.cfm into your custom tags path.
The important thing is that the quercus.jar is accessible to the JVM. Your error message indicates that the JVM can't find the jar.

Doubt in Java Service wrapper while running jar application fom window service

I have a jar application which process and converts file into csv file. I have made it to run in windows service using Java Service Wrapper. It got installed my jar application successfully when I run "InstallApp-NT. Bat" file and starts running my application when I run "app" command.
But when I try to start the service in services, its not starting and showing following message in dialog box<
Windows could not start the generic Preprocessor application on Local Computer. For more information, review the System Event Log. If this is a non-microsoft service, contact the service vendor, and refer to service-specific error code1
I have the system log file and it showing the below error message
System Event log:
--> Wrapper Started as Service
Java Service Wrapper Community Edition 3.3.2
Copyright (C) 1999-2009 Tanuki Software, Ltd. All Rights Reserved.
http://wrapper.tanukisoftware.org
Launching a JVM...
WrapperManager: Initializing...
WrapperSimpleApp:
WrapperSimpleApp: Encountered an error running main:
WrapperSimpleApp: java. Lang. NullPointerException
WrapperSimpleApp: at java. Util. Hashtable. Put(Hashtable. Java: 396)
WrapperSimpleApp: at java. Util. Properties. SetProperty(Properties. Java: 128)
WrapperSimpleApp: at java. Lang. System. SetProperty(System. Java: 701)
WrapperSimpleApp: at com. Dnb. Genericpreprocessor. Process. ProcessRunner. Main(Unknown Source)
WrapperSimpleApp: at sun. Reflect. NativeMethodAccessorImpl. Invoke0(Native Method)
WrapperSimpleApp: at sun. Reflect. NativeMethodAccessorImpl. Invoke(NativeMethodAccessorImpl. Java: 39)
WrapperSimpleApp: at sun. Reflect. DelegatingMethodAccessorImpl. Invoke(DelegatingMethodAccessorImpl. Java: 25)
WrapperSimpleApp: at java. Lang. Reflect. Method. Invoke(Method. Java: 585)
WrapperSimpleApp: at org. Tanukisoftware. Wrapper. WrapperSimpleApp. Run(WrapperSimpleApp. Java: 238)
WrapperSimpleApp: at java. Lang. Thread. Run(Thread. Java: 595)
<-- Wrapper Stopped
I don't think any error in application code because it running fine when run "app" command. Please help what I should now. Thanks in advance.
I am using the following code in com.dnb.genericpreprocessor.process.ProcessRunner class.
String projectHome = "D:\BL";
System.setProperty("project.home", projectHome);
System.setProperty("log.home",System.getenv("DBE")); ---> DBE is the envirinment variable I created in user variables.
When I run the application by giving app command... Its running the application by printing the environment value but showing the same error when I start it in service.
Answering your question update that you phrased as an answer, you need to ensure that the variable is in fact set in the specific environment where you are running the application. It appears that it is not. In fact, to avoid the NullPointerException, I would modify your code to something like:
String loghome = System.getenv("DBE");
if (loghome == null) {
// LOG A COMPLAINT that the environment variable is not set
loghome = "some reasonable default value";
}
System.setProperty("log.home", loghome);
so at least your application won't fail with an obtuse NPE if it is executed in the wrong environment.
Check com.dnb.genericpreprocessor.process.ProcessRunner if that is your code and see what data you are setting in System property. NullPointer is telling that the key or the value you passed is Null.
Check your wrapper.config; you need to have all the necessary jars in order, and each with their own index number (for some reason):
wrapper.java.classpath.1=../lib/wrapper.jar
wrapper.java.classpath.2=%JAVA_HOME%/lib/tools.jar
...
Just a first thought.
I am not familiar with the proprietary solution you are using, but it seems you somehow configured it wrong.
Looks like some parameter the wrapper should have is null and is propagating all the way up until the system is trying to set it as property.
Maybe you should put your 'DBE' enviroment in the system variables not user variables.
Windows service starts at system account.

Windows Java thread affinity with OpenHFT AffinityLock

I'm trying to optimize an application by binding its threads to different cores. To begin with, I would like to bind the entire application to a single core using the Affinity-3.0.6 package from OpenHFT.
So far I've had no luck. At first I imported the package and tried the command
AffinityLock al = AffinityLock.acquireCore();
was warned about not having JNA access, so I downloaded the jna-4.2.2 package and imported it as well.
After the second import, the same command gives the following error:
WARN Affinity - Windows JNA-based affinity not usable because it
failed to load! Reason: java.lang.NoClassDefFoundError:
com/sun/jna/platform/win32/WinDef$DWORD
and the execution is not bound to the single core.
I'm blindly trying to give the software what it wants without understanding what it needs.
i suspect youve added jna.jar, but not jna-platform.jar to your project, and the class that fails to load ispart of platform.
see docs and download links here.

Categories