JavaCV - Running Examples - eclipse

I'm a bit of an amateur developer and I'm currently messing around with JavaCV and Eclipse on my Mac.
I'm trying to get the FaceRecorgnition to work but I don't really know how to install this into Eclipse properly.
I've created a new Java Project, and I've imported the 'JavaCPP', 'JavaCV-Mac', and 'JavaCV' libraries.
I then created a package and called it 'mvn', then created a class and C/P the 'FaceRecorgnition' java into that class and then try and run it. I then get this error:
Oct 24, 2012 10:17:22 PM mvn.FaceRecognition learn
INFO: ===========================================
Oct 24, 2012 10:17:22 PM mvn.FaceRecognition learn
INFO: Loading the training images in data/all10.txt
Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: data/all10.txt (No such file or directory)
at mvn.FaceRecognition.loadFaceImgArray(FaceRecognition.java:317)
at mvn.FaceRecognition.learn(FaceRecognition.java:97)
at mvn.FaceRecognition.main(FaceRecognition.java:789)
Caused by: java.io.FileNotFoundException: data/all10.txt (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:120)
at java.io.FileInputStream.<init>(FileInputStream.java:79)
at java.io.FileReader.<init>(FileReader.java:41)
at mvn.FaceRecognition.loadFaceImgArray(FaceRecognition.java:244)
... 2 more
I don't fully understand imports and SDKs fully yet, so be easy.
Thanks.

This is not about missing libraries, but a missing .txt file.
It seems like the all10.txt file is not included in the JavaCV download.
Check out http://www.shervinemami.info/faceRecognition.html under the heading
"How to use the offline cmd-based FaceRec system:"
You find the all10.txt file in his zip facerecExample_ORL.zip and the faces needed in the zip
Cambridge_FaceDB.zip
Create a data folder where FaceRecognition.java is.
Put the .txt files in that folder as well as the Cambridge_FaceDB folder:
samples/
FaceRecognition.java
data/
all10.txt
Cambridge_FaceDB/

Related

Google OR tools

I am learning to solve some optimisation programs using google or-tools.
I started with their example code and I an trying to run it in intellij.
But when I write the code and compile I get the following error.
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.google.ortools.linearsolver.operations_research_linear_solverJNI.MPSolver_CLP_LINEAR_PROGRAMMING_get()I
at com.google.ortools.linearsolver.operations_research_linear_solverJNI.MPSolver_CLP_LINEAR_PROGRAMMING_get(Native Method)
at com.google.ortools.linearsolver.MPSolver$OptimizationProblemType.<clinit>(MPSolver.java:221)
I searched for some answers and I found that it requires jniortools.dll .
But I am working with ubuntu. Hence i assume i need to load the libjniortools.so file , am I right?.
So I included the line
static {
System.loadLibrary("libjniortools");
}
and I have a lib folder wherein I have put both com.google.ortools.jar and protobuf.jar along with all the other lib files that were present when I extracted the zip file(basically copy pasted the lib folder from extracted zip file).
I have added the jar paths in intellij as shown in figure
enter image description here
*the last 2 line of dependency in image
Then I have also tried giving the lib path in VM-options:
-Djava.library.path=/home/surajvashistha/IdeaProjects/LPModel/lib
After all this, I get the following error
Exception in thread "main" java.lang.UnsatisfiedLinkError: no libjniortools in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
at java.lang.Runtime.loadLibrary0(Runtime.java:871)
at java.lang.System.loadLibrary(System.java:1124)
at LP.<clinit>
I am stuck here and not able to move forward. Can anyone help?

Debugging OfBiz in Eclipse gives MissingResourceException

I downloaded the OfBiz Java application and the following line throws an MissingResourceException:
ResourceBundle res = ResourceBundle.getBundle(settingsResourceName);
The value of settingsResourceName is "cache", but I cannot find any file called cache.properties or cache_en.properties.
Where should I be looking? I'm new to Java. All my research on SO says there should be such a file.
I imported OfBiz in Eclipse using the Import menu option and selecting Existing Project from File System (I'm not in front of my dev machine so I don't remember the exact wording). But I chose the root folder of the downloaded OfBiz.
I then added the appropriate VM Arguments in the Run Configuration to get it to run properly at least. And that's it, on the first Run I got the above error. I think it has to do with a missing class path but I don't know what to add to class path.
Here is the stack trace:
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.apache.ofbiz.base.util.Debug.<clinit>(Debug.java:68)
at org.apache.ofbiz.base.container.ContainerLoader.load(ContainerLoader.java:61)
at org.apache.ofbiz.base.start.StartupControlPanel.loadStartupLoaders(StartupControlPanel.java:202)
at org.apache.ofbiz.base.start.StartupControlPanel.start(StartupControlPanel.java:69)
at org.apache.ofbiz.base.start.Start.main(Start.java:84)
Caused by: java.util.MissingResourceException: Can't find bundle for base name cache, locale en
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1564)
at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1387)
at java.util.ResourceBundle.getBundle(ResourceBundle.java:773)
at org.apache.ofbiz.base.util.cache.UtilCache.setPropertiesParams(UtilCache.java:174)
at org.apache.ofbiz.base.util.cache.UtilCache.setPropertiesParams(UtilCache.java:170)
at org.apache.ofbiz.base.util.cache.UtilCache.setPropertiesParams(UtilCache.java:166)
at org.apache.ofbiz.base.util.cache.UtilCache.<init>(UtilCache.java:124)
at org.apache.ofbiz.base.util.cache.UtilCache.createUtilCache(UtilCache.java:769)
at org.apache.ofbiz.base.util.UtilProperties.<clinit>(UtilProperties.java:75)
... 5 more
UPDATE:
My mistake, I found two files both called cache.properties in the following folders:
ofbiz-trunk/build/resources/main
ofbiz-trunk/framework/base/config
But these are folders, not packages. I tried putting them in the .classpath but that did not work, I still kept getting the same error.
As suspected, I knew it was because of a missing reference to a class path. After looking at a section on this page: http://www.opensourcestrategies.com/ofbiz/ofbiz_eclipse.php, I learned that I was supposed to go to the Java Build Path and in the Libraries tab, click on Add Class Folder, then point that to ofbiz-trunk/framework/base/config. Which is where I have one of the cache.properties files.

Eclipse Neon searching for shared libraries in the root folder

I installed Eclipse Neon yesterday and it seemed to be working fine. Installed a few plug-ins and did some work.
Today when I start it I get the following error message:
$ /usr/local/bin/eclipse46
/root/.p2/pool/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444: cannot open shared object file: Permission denied
I found some references in the config.ini file to the root folder (I have no idea why). I have correct these and the file now looks like:
#This configuration file was written by: org.eclipse.oomph.p2.internal.core.AgentImpl
#Tue Jul 26 16:10:00 CEST 2016
org.eclipse.update.reconcile=false
eclipse.p2.profile=_opt_eclipse.neon_eclipse
osgi.instance.area.default=#user.home/workspace
osgi.framework=file\:plugins/org.eclipse.osgi_3.10.102.v20160118-1700.jar
equinox.use.ds=true
eclipse.buildId=4.6.0.I20160606-1100
osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.1.200.v20160504-1450.jar#1\:start
org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator/bundles.info
eclipse.product=org.eclipse.platform.ide
osgi.splashPath=platform\:/base/plugins/org.eclipse.platform
osgi.framework.extensions=reference\:file\:org.eclipse.osgi.compatibility.state_1.0.200.v20160504-1419.jar,reference\:file\:org.eclipse.wst.jsdt.nashorn.extension_1.0.0.v201605131737.jar
osgi.bundles.defaultStartLevel=4
eclipse.p2.data.area=#config.dir/../p2/
eclipse.application=org.eclipse.ui.ide.workbench
However, I am still getting the "permission denied" error. Is there any way of correcting this?
I tried to put my user's folder to eclipse.ini file, and this didn't worked.
--launcher.library ~/.p2/pool/plugin /org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.400.v20160518-1444
seems the best approach for now is to copy the folder inside root home to your user, once its create with the the new installer.

Error reading manifest file "...datanucleus-core-3.0.0-release.jar!/plugin.xml"

I got a very strange error. This what I've done:
I create a project (with Netbeans) which include datanucleuse-core-3.0.0-release.jar. The project can be built successfully. It also ran smoothly when I tried to run it with Netbeans or running 'java -jar <.jar bundle>' in dist folder via command prompt.
The problem is, when I copy that dist folder into another location and tried to run it again with command prompt, it gave these errors:
Exception in thread "main" Error reading manifest file
"jar:file:/E:/!new/BTJ/NCRServer/lib/datanucleus-core-3.0.0-release.jar!/plugin.xml"
org.datanucleus.exceptions.NucleusException: Error reading manifest
file "jar:fi
le:/E:/!new/BTJ/NCRServer/lib/datanucleus-core-3.0.0-release.jar!/plugin.xml"
at org.datanucleus.plugin.NonManagedPluginRegistry.registerBundle(NonMan
agedPluginRegistry.java:481)
at org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensions(No
nManagedPluginRegistry.java:219)
at org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensionPoin
ts(NonManagedPluginRegistry.java:160)
at org.datanucleus.plugin.PluginManager.(PluginManager.java:62)
at org.datanucleus.NucleusContext.(NucleusContext.java:211)
at org.datanucleus.NucleusContext.(NucleusContext.java:166)
at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.(JDOPersis
tenceManagerFactory.java:360)
at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenc
eManagerFactory(JDOPersistenceManagerFactory.java:290)
at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceMa
nagerFactory(JDOPersistenceManagerFactory.java:191)
at com.ncr.server.Server.(Server.java:68)
at com.ncr.server.Server.main(Server.java:91) Caused by: java.io.FileNotFoundException: E:\ (The system cannot find the path s
pecified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:114)
at java.util.jar.JarFile.(JarFile.java:135)
at java.util.jar.JarFile.(JarFile.java:99)
at org.datanucleus.plugin.NonManagedPluginRegistry.registerBundle(NonMan
agedPluginRegistry.java:390)
... 10 more Nested Throwables StackTrace: java.io.FileNotFoundException: E:\ (The system cannot find the path
specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:114)
at java.util.jar.JarFile.(JarFile.java:135)
at java.util.jar.JarFile.(JarFile.java:99)
at org.datanucleus.plugin.NonManagedPluginRegistry.registerBundle(NonMan
agedPluginRegistry.java:390)
at org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensions(No
nManagedPluginRegistry.java:219)
at org.datanucleus.plugin.NonManagedPluginRegistry.registerExtensionPoin
ts(NonManagedPluginRegistry.java:160)
at org.datanucleus.plugin.PluginManager.(PluginManager.java:62)
at org.datanucleus.NucleusContext.(NucleusContext.java:211)
at org.datanucleus.NucleusContext.(NucleusContext.java:166)
at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.(JDOPersis
tenceManagerFactory.java:360)
at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.createPersistenc
eManagerFactory(JDOPersistenceManagerFactory.java:290)
at org.datanucleus.api.jdo.JDOPersistenceManagerFactory.getPersistenceMa
nagerFactory(JDOPersistenceManagerFactory.java:191)
at com.ncr.server.Server.(Server.java:68)
at com.ncr.server.Server.main(Server.java:91)
Anybody got clue ?
I am really sorry for everyone, especially for datanucleus members in StackOverflow.
Apparently the problem is me, not the netbeans, datanucleus API, nor anyone.
As you can see from "jar:file:/E:/!new/BTJ/NCRServer/lib/datanucleus-core-3.0.0-release.jar!/plugin.xml", I put the "dist" folder from Netbeans in "E:/!new" folder. I don't know why but the "!new" folder seems to cause the extra exclamation mark(!) in "release.jar!".
I move the dist folder into D:/ and it worked !!
So, if anyone ever experience this problem (precedence a folder's name with exclamation mark and accidentally put a project with datanucleus-core-3.0.0-release.jar inside it), that's the solution.
Thank you.

PDFlib works only if the library is in /usr/lib not in a custom path

we are using PDFlib for personalizing PDFs.
The pdflib.jar library and the libpdf_java.so file are both in the folder:
/home/user/my/custom/library/path/
I start the server with this argument:
java -Djava.library.path=/home/user/my/custom/library/path/
like it is mentioned in the pdflib tutorial
After deploying on my jBoss5 Server i got this error message:
ERROR [STDERR] Cannot load the PDFlib shared library/DLL for Java.
Make sure to properly install the native PDFlib library. For your
information, the current value of java.library.path is:
/home/user/my/custom/library/path/
So, the path ist correct (i tried it with and without the / at the end)
If I put the jar and the lib in my /usr/lib folder, everything works fine, but not with my custom folders.
I use it on a linux 64bit, if that matters!
The custom folder and the files got chmod 755 - so this shouldn't be the problem
Looking forward to your hints!