- This topic has 15 replies, 3 voices, and was last updated 20 years, 5 months ago by Idefix.
-
AuthorPosts
-
IdefixMemberHi,
I have a minimalistic web-app which I try to deploy on Resin 3.0.8, which finaly seems to work (deployment at least).
The application seems to work fine if resin is launched manualy with “bin/httpd.sh start”.
However, if launched using MyEclipse, I keep getting this:
[12:08:46.605] http listening to *:8080
[12:08:46.606] ServletServer[] starting
[12:08:46.622] hmux listening to localhost:6802
[12:08:46.860] In-place class redefinition (HotSwap) is not available.
[12:08:46.860] java.lang.UnsatisfiedLinkError: no resin in java.library.path
[12:08:46.944] Host[] startingHow can the resin be missing in the class path? Or better, how to get it work?
MyEclipse Forum post System information:
Linux system info:
Red Hat ES 3.0 Linux all patches installed
Eclipse version and build id: 3.0.0 – 200406251208
MyEclipse version: 3.8b2
Eclipse and MyEclipse are freshly installed
Added plugins: none
Using JDK and JRE blackdown-jdk-1.4.1
Using Resin 3.0.8
There do not seem to be current entries in file <workspace>/.metadata/.logThanks
Chris
Riyad KallaMemberChris,
It looks like Resin is looking for something in the system path like a native lib, any idea what? This FAQ entry, http://www.myeclipseide.com/FAQ+index-myfaq-yes-id_cat-14.html#105 ,addresses native libs and the connectors, you likely need to add what it wants to the Paths > Library Path setting under the Resin connector.
IdefixMemberWell, it does look for all the jars located in $RESIN_HOME/lib (one of them would be resin.jar) and I was/am assuming that MyEclipse should add this to the classpath by itself … But I’ll try setting this up in my eclipse and post the results.
Thanks,
Chris
Riyad KallaMemberChris,
The connectors are pretty cookie cutter for each server, they don’t offer ‘special treatement’ AFAIK so this might be part of the problem.Your idea is good, let us know if it works.
Scott AndersonParticipantThere was a resin bug fixed for beta 2 due to changes in the launch requirements of Resin 3.0.8 that added more libs to the classpath. A rundown of the description is available here:
https://www.genuitec.com/forums/topic/problems-configuring-myeclipse-with-resin-closed/#post-209204Are you positive you’re using Beta 2 and not 1? I just tried Eclipse 3.0, MyEclipse 3.0 Beta 2 and simply set the home directory to my Resing 3.0.8 install and Resin spun up just fine for me.
IdefixMemberkralla,
I tried configuring MyEclipse with the path (directory) and even directly the resin.jar (in all variations …) but it doesn’t change anything. As soon as I launch out of MyEclipse, the error comes up.
I’m a bit lost now as I don’t understand why. If I add the library path to the connector, it should work … unless MyEclipse has a bug and doesn’t use it.
Scott,
I’m positive about the version. This is the file I downloaded: EnterpriseWorkbenchInstaller_030800Beta2.bin
I installed resin, eclipse and myeclipse from scratch, so that’s clean too …
The last thing I can think of would be to recreate the project (maybe something in there went down the drain), I’ll try, but have no hopes in this …
Thanks
Chris
Riyad KallaMemberChris,
I noticed you are using Blackdown, do you have the Sun JDK installed to try?
IdefixMemberNot so far, but I can try. I’ll get back to you as soon as I tried (some time tomorrow …)
Thanks
Chris
Scott AndersonParticipantIf I add the library path to the connector, it should work … unless MyEclipse has a bug and doesn’t use it.
Funny you should mention that. 3.8 Beta 2 did indeed have a bug in the library path. A discussion on it with workarounds is available here:
http://www.myeclipseide.com/PNphpBB2+file-viewtopic-t-3051-highlight-performance+weblogic.html
IdefixMemberScott,
I was very positive your hint for the bug would solve my problem, but unfortunately it does not. Changing to the sun jdk didn’t help either.
So, the last thing I did was enabling full blown logging with resin and here’s the snippet:
[15:02:57.007]HostEntry[null] initialized
[15:02:57.017]’resin:Server=default,name=default,type=Host’ registered in MBeanContext[EnvironmentClassLoader[servlet-server:]]
[15:02:57.017]registered resin:Server=default,name=default,type=Host
[15:02:57.204]’resin:Server=default,port=8080,type=Port’ registered in MBeanContext[EnvironmentClassLoader[servlet-server:]]
[15:02:57.204]registered resin:Server=default,port=8080,type=Port
[15:02:57.209]Socket JNI library is not available.
[15:02:57.209]Resin will still run but performance will be slower.
[15:02:57.209]To compile the Socket JNI library on Unix, use ./configure; make; make install.
[15:02:57.216]java.lang.UnsatisfiedLinkError: no resin in java.library.path
[15:02:57.216] at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1491)
[15:02:57.216] at java.lang.Runtime.loadLibrary0(Runtime.java:788)
[15:02:57.216] at java.lang.System.loadLibrary(System.java:834)
[15:02:57.216] at com.caucho.vfs.QJniServerSocket.<clinit>(QJniServerSocket.java:276)
[15:02:57.216] at com.caucho.server.port.Port.bind(Port.java:557)
[15:02:57.216] at com.caucho.server.resin.ServletServer.bindPorts(ServletServer.java:728)
[15:02:57.216] at com.caucho.server.resin.ResinServer.bindPorts(ResinServer.java:404)
[15:02:57.216] at com.caucho.server.resin.ResinServer.start(ResinServer.java:417)
[15:02:57.216] at com.caucho.server.resin.Resin.init(Resin.java:279)
[15:02:57.216] at com.caucho.server.resin.Resin.main(Resin.java:474)Please note that resin is compiled with JNI support enabled and this message also does NOT appear if launched manualy.
I set the optional classpath and library settings in <workspace>/.metadata/.plugins/org.eclipse.core.runtime/.settings/com.genuitec.eclipse.easie.resin3.prefs but nothing changed … I am pretty clue less now …
Chris
Scott AndersonParticipantChris,
What, exactly, did you change the settings to in the preference file?
IdefixMemberScott,
Here’s what I I did:
#Sat Jul 31 15:52:06 PDT 2004
PREPEND_CLASSPATH1=
OPT_CLASSPATH1=/usr/local/resin/lib;
OPT_LIBRARYPATH1=/usr/local/resin/lib;
LIBRARY_PATH=”/opt/sun-jdk-1.4.2.04/bin\:/usr/local/resin/bin\:/usr/local/resin/lib”
RESIN_HOME=/usr/local/resin
RESIN_CONFIG=/usr/local/resin/conf/resin.conf
eclipse.preferences.version=1
JDK_INSTALLATION_NAME=sun-jdk-1.4.2.04
SERVER_ENABLEMENT=true
JDK_HOME=/opt/sun-jdk-1.4.2.04
OPT_VM_ARGS=-XdebugI also tried several other things, like adding the jars explicitely one by one, but also nothing …
To me it seems as if myeclipse is not passing on ANY of the classpath / librarypath information … I don’t really know where to look anymore …
Chris
IdefixMemberAnd here’s the worst part:
It does work with MS-Windows XP Pro …
But, since I do develop on linux, please let me know if there’s a workaround / fix / whatsoever.Thanks
Chris
Riyad KallaMemberChris,
One of the bugs w.r.t. to the libraries setting was especially bad on linux because it used the Windows path separator instead of the Linux path separator, rendering the appended library path useless. I would suggest that you wait until 3.8 GA where these 2 bugs are fixed, and then give it a try. Until then maybe keeping an extra console open to run Resin might be an OK workaround, we really appologize for the inconvenience.
Scott AndersonParticipantChris,
One of the bugs w.r.t. to the libraries setting was especially bad on linux because it used the Windows path separator instead of the Linux path separator, rendering the appended library path useless.
Actually, the library path is rewritten before launch using the path separator for the platform. So after you attempt to launch, you should notice that the path separators are rewritten to use a ‘;’, assuming that File.pathSeparator on your platform is returning a ‘;’. You might check that.
-
AuthorPosts