zhyh1105 / run-jetty-run

Automatically exported from code.google.com/p/run-jetty-run
0 stars 0 forks source link

RJR failing to include required jars in classpath #78

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
Try to run a web app using RJR with default settings.

What is the expected output? What do you see instead?
Exception in thread "main" java.lang.NoClassDefFoundError: 
runjettyrun.Bootstrap 

What version of the product are you using? On what operating system?
Windows 7 (64 bit)
using Jetty 7

Please provide any additional information below.
It seems that the RJR jars are not being added to the classpath. If I manually 
add RJR jars as external JARs, then it all works fine. 

I've taken a couple of screenshots - 
1) launch-config-broken - what the Classpath tab looks like on a newly-created 
launch config before I make any changes
2) launch-config-fixed - what I added in order to make it work (I needed to add 
more than just the bootstrap jar, as otherwise it just got a little further and 
then stopped reporting another NoClassDefFound error)

Note that the "Persisted container" folders in the Classpath tab in the 
screenshots are empty - they're not just folded up with hidden contents.

Original issue reported on code.google.com by dale.l...@gmail.com on 29 Jun 2011 at 1:55

Attachments:

GoogleCodeExporter commented 9 years ago
One more information I need , which version are you using ? 
It looks like our Nightly build , just want to double check.

That seems RJR's container resolver is not stable enough, 
I saw some user complains similar issues before , 
but I can't reproduce it in my local , so it's hard to trace it for me.

ok ,I will dig more to find the details or try to use another implementation 
for it.

Original comment by tonylovejava on 29 Jun 2011 at 5:56

GoogleCodeExporter commented 9 years ago

Original comment by tonylovejava on 29 Jun 2011 at 5:56

GoogleCodeExporter commented 9 years ago
Btw this is the view when container resolver working well.

http://screencast.com/t/waIP012YJ

I will mark this issue as top priority.

Original comment by tonylovejava on 29 Jun 2011 at 6:03

GoogleCodeExporter commented 9 years ago
ok , I got the version you use from your jars in attachment. 

Original comment by tonylovejava on 29 Jun 2011 at 6:11

GoogleCodeExporter commented 9 years ago
I refine some logic for container resolver by "guessing", 
but actually not sure if we get this issue fixed or not.

I have published a newer nightly version for RJR core 20110630,
would you mind to help me install and test it ?

Also great thank to your bug report. ;)

Original comment by tonylovejava on 29 Jun 2011 at 7:43

GoogleCodeExporter commented 9 years ago
(Remove nightly tag, since it's more like a bug in 1.2.2 ) 

Original comment by tonylovejava on 29 Jun 2011 at 7:44

GoogleCodeExporter commented 9 years ago
Thanks very much for the prompt response!

When I click 'New' to create a new Run Jetty Run launch config, I get the 
following error:

java.lang.IllegalArgumentException: Path for project must have only one segment.
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
at 
org.eclipse.core.internal.resources.WorkspaceRoot.getProject(WorkspaceRoot.java:
183)
at runjettyrun.RunJettyRunTab.initializeFrom(RunJettyRunTab.java:748)
at 
org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup.initializeFrom(Abstract
LaunchConfigurationTabGroup.java:86)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupWr
apper.initializeFrom(LaunchConfigurationTabGroupWrapper.java:194)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupVi
ewer.displayInstanceTabs(LaunchConfigurationTabGroupViewer.java:751)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupVi
ewer$8.run(LaunchConfigurationTabGroupViewer.java:623)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupVi
ewer.inputChanged(LaunchConfigurationTabGroupViewer.java:640)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupVi
ewer.setInput0(LaunchConfigurationTabGroupViewer.java:602)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupVi
ewer.setInput(LaunchConfigurationTabGroupViewer.java:578)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.ha
ndleLaunchConfigurationSelectionChanged(LaunchConfigurationsDialog.java:940)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog$3.
selectionChanged(LaunchConfigurationsDialog.java:559)
at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:867)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at 
org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredVi
ewer.java:865)
at 
org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:17
00)
at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1139)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.handl
eConfigurationAdded(LaunchConfigurationView.java:283)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.acces
s$1(LaunchConfigurationView.java:272)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView$2.run
(LaunchConfigurationView.java:261)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.op
en(LaunchConfigurationsDialog.java:1134)
at org.eclipse.debug.ui.DebugUITools$1.run(DebugUITools.java:398)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at 
org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITo
ols.java:406)
at 
org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITo
ols.java:340)
at 
org.eclipse.debug.ui.actions.OpenLaunchDialogAction.run(OpenLaunchDialogAction.j
ava:81)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at 
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionCont
ributionItem.java:584)
at 
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.
java:501)
at 
org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContribution
Item.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at 
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java
:115)
at 
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at 
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Ecli
pseAppLauncher.java:110)
at 
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLau
ncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
at java.lang.reflect.Method.invoke(Method.java:600)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
at org.eclipse.equinox.launcher.Main.main(Main.java:1384)

This results in all the properties in the RJR tab being blank and 
uninitialised. Essentially, I am now not able to create new RJR launch 
configurations.

Previously created launch configs still run okay.

Original comment by dale.l...@gmail.com on 29 Jun 2011 at 9:31

GoogleCodeExporter commented 9 years ago
(Sorry - if that last comment wasn't clear, I meant this is what happens after 
installing the new updated nightly build)

Original comment by dale.l...@gmail.com on 29 Jun 2011 at 9:38

GoogleCodeExporter commented 9 years ago
Would you mind to provide me the full project name for verifying this issue?

That seems a project name issue,and it's strange,
since we didn't change this implementation and it looks more like a new bug.

But basically we count on Eclipse JDT on this part, 
I could ignore the exception , but if the project name is invalid ,
you will still meet error in the JavaRuntime part.

Let's check if the project name is reasonable or not.

Original comment by tonylovejava on 30 Jun 2011 at 1:01

GoogleCodeExporter commented 9 years ago
I did some code review and found that I couldn't find any possibility on 
Project Name issue you meet.

My suggestion is 
  1.check your project name first
  2.deleted the wrong Run Configuration and try to create it again

Original comment by tonylovejava on 30 Jun 2011 at 1:15

GoogleCodeExporter commented 9 years ago
Thanks for the reply. 

To try and eliminate any weird config or state I might have gotten myself into, 
I did the following:

1) Start eclipse with new, clean empty workspace in a path with no spaces in it 
(C:\Temp\newworkspace)
2) Create a new Java project, called "this.is.a.test.project"
3) Run -> Run Configurations...
4) Click on 'Jetty Webapp'
5) Click on 'New'
6) The same error occurred

Looking in the error log, I see two errors 

Error 1 
Thu Jun 30 09:18:38 BST 2011
Runtime component type org.mortbay.jetty.serveradaptor.runtime has not been 
defined. It is used in plugin org.mortbay.jetty.serveradaptor.

Error 2 (this is when I clicked New)
Thu Jun 30 09:21:20 BST 2011
Problems occurred when invoking code from plug-in: "org.eclipse.jface".

java.lang.IllegalArgumentException: Path for project must have only one segment.
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:63)
at 
org.eclipse.core.internal.resources.WorkspaceRoot.getProject(WorkspaceRoot.java:
183)
at runjettyrun.RunJettyRunTab.initializeFrom(RunJettyRunTab.java:748)
at 
org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup.initializeFrom(Abstract
LaunchConfigurationTabGroup.java:86)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupWr
apper.initializeFrom(LaunchConfigurationTabGroupWrapper.java:194)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupVi
ewer.displayInstanceTabs(LaunchConfigurationTabGroupViewer.java:751)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupVi
ewer$8.run(LaunchConfigurationTabGroupViewer.java:623)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupVi
ewer.inputChanged(LaunchConfigurationTabGroupViewer.java:640)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupVi
ewer.setInput0(LaunchConfigurationTabGroupViewer.java:602)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupVi
ewer.setInput(LaunchConfigurationTabGroupViewer.java:578)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.ha
ndleLaunchConfigurationSelectionChanged(LaunchConfigurationsDialog.java:940)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog$3.
selectionChanged(LaunchConfigurationsDialog.java:559)
at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:867)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at 
org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredVi
ewer.java:865)
at 
org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:17
00)
at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1139)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.handl
eConfigurationAdded(LaunchConfigurationView.java:283)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.acces
s$1(LaunchConfigurationView.java:272)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView$2.run
(LaunchConfigurationView.java:261)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at 
org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.op
en(LaunchConfigurationsDialog.java:1134)
at org.eclipse.debug.ui.DebugUITools$1.run(DebugUITools.java:398)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at 
org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITo
ols.java:406)
at 
org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITo
ols.java:340)
at 
org.eclipse.debug.ui.actions.OpenLaunchDialogAction.run(OpenLaunchDialogAction.j
ava:81)
at 
org.eclipse.debug.ui.actions.OpenLaunchDialogAction.runWithEvent(OpenLaunchDialo
gAction.java:89)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:241)
at 
org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:229)
at 
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionCont
ributionItem.java:584)
at 
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.
java:501)
at 
org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContribution
Item.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at 
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java
:115)
at 
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at 
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Ecli
pseAppLauncher.java:110)
at 
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLau
ncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav
a:25)
at java.lang.reflect.Method.invoke(Method.java:600)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
at org.eclipse.equinox.launcher.Main.main(Main.java:1384)

Original comment by dale.l...@gmail.com on 30 Jun 2011 at 8:31

GoogleCodeExporter commented 9 years ago
Here's my test case 
1) Start eclipse with new worksapce
2) Create a new Java project, called "this.is.a.test.project"
3) Run -> Run Configurations...
4) Click on 'Jetty Webapp'
5) Click on 'New'

Here's a record for how I testing it and verified the version.
http://screencast.com/t/Nri8Bgwi

I didn't see anything show up in your case .

My OS is win7 64bit ,Eclipse Helios.

I will try to prepare a more clean Eclipse to test this later , 
to check if there's anything we missed .

Original comment by tonylovejava on 30 Jun 2011 at 8:50

GoogleCodeExporter commented 9 years ago
Argh, you've got to love unreproducible bugs. :-)

I tried again with another clean workspace and now can't reproduce what 
happened in comment 11 myself! It still happens in my old workspaces, but not 
in new ones I create, so I must've somehow borked those workspaces. I'm sorry - 
let's call that a red herring and go back to the original issue. 

I'm still seeing the classpath problem behaviour. 

1) Start eclipse in another new workspace C:\temp\newworkspace7
2) Create a new Dynamic Web project called testproject, with target runtime 
Jetty v7.2
3) Right-click on new project, and go to Run Configurations
4) Click on Jetty Webapp
5) Click on New
6) Checked the Classpath tab - screenshot attached
7) Click on Run

Exception in thread "main" java.lang.NoClassDefFoundError: runjettyrun.Bootstrap
Caused by: java.lang.ClassNotFoundException: runjettyrun.Bootstrap
    at java.net.URLClassLoader.findClass(URLClassLoader.java:423)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:653)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:346)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:619)

Original comment by dale.l...@gmail.com on 30 Jun 2011 at 9:22

Attachments:

GoogleCodeExporter commented 9 years ago
Using the Debug view, I can see that this is the full command that runs, 
resulting in the above NoClassDefFoundError

 "C:\Program Files (x86)\IBM\Java60\jre\bin\javaw.exe" -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:49517 -Drjrcontext=/testproject -Drjrwebapp=\"C:\temp\newworkspace7\testproject\WebContent\" -Drjrport=8080 -Drjrsslport=8443 -Drjrkeystore=C:\Users\Dale\.keystore -Drjrkeypassword=changeit -Drjrpassword=changeit -Drjrscanintervalseconds=5 -Drjrenablescanner=true -Drjrenablessl=false -Drjrneedclientauth=false -Drjrparentloaderpriority=true -DrjrenbaleJNDI=false -Drjrclasspath=file://C:\temp\newworkspace7\.metadata\.plugins\runjettyrun\testproject.classpath -DrjrResourceMapping= -Dfile.encoding=Cp1252 runjettyrun.Bootstrap

I can see that the classpath is being set in 
C:\temp\newworkspace7\.metadata\.plugins\runjettyrun\testproject.classpath

The contents of that file is:
C:\temp\newworkspace7\testproject\WebContent\WEB-INF\classes;C:\Program 
Files\jetty\lib\annotations\javax.annotation_1.0.0.v20100513-0750.jar;C:\Program

Files\jetty\lib\annotations\org.objectweb.asm_3.1.0.v200803061910.jar;C:\Program
 Files\jetty\lib\jetty-ajp-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-annotations-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-client-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-continuation-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-deploy-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-http-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-io-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-jmx-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-jndi-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-plus-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-policy-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-rewrite-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-security-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-server-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-servlet-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-servlets-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-util-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-webapp-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-websocket-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jetty-xml-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jndi\javax.activation_1.1.0.v201005080500.jar;C:\Program 
Files\jetty\lib\jndi\javax.mail.glassfish_1.4.1.v201005082020.jar;C:\Program 
Files\jetty\lib\jsp\com.sun.el_1.0.0.v201004190952.jar;C:\Program 
Files\jetty\lib\jsp\ecj-3.6.jar;C:\Program 
Files\jetty\lib\jsp\javax.el_2.1.0.v201004190952.jar;C:\Program 
Files\jetty\lib\jsp\javax.servlet.jsp.jstl_1.2.0.v201004190952.jar;C:\Program 
Files\jetty\lib\jsp\javax.servlet.jsp_2.1.0.v201004190952.jar;C:\Program 
Files\jetty\lib\jsp\jetty-jsp-2.1-7.2.2.v20101205.jar;C:\Program 
Files\jetty\lib\jsp\org.apache.jasper.glassfish_2.1.0.v201007080150.jar;C:\Progr
am 
Files\jetty\lib\jsp\org.apache.taglibs.standard.glassfish_1.2.0.v201004190952.ja
r;C:\Program 
Files\jetty\lib\jta\javax.transaction_1.1.1.v201004190952.jar;C:\Program 
Files\jetty\lib\servlet-api-2.5.jar

It looks like stuff like run-jetty-run-bootstrap jars are still not being 
included.

Original comment by dale.l...@gmail.com on 30 Jun 2011 at 9:26

GoogleCodeExporter commented 9 years ago
Ok ,I believe you found the root cause , that's a good job!
I will trace it later and see if how we could handle it well, thanks.

Let us reopen this issue first. ;)

Original comment by tonylovejava on 30 Jun 2011 at 10:27

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I guess it might related to Eclipse version , 
we use the OSGi way , getting bundle entry from plug-in root.

It's working in my environment(Eclipse 3.6), 
but it seems it's not working properly in your case,

Anyway , I will try to find a more stable way to handle it / try to reproduce 
it as possible.

btw , in your classpath you found, 
there's another issue for server runtime will conflict with RJR bundled one.

You could reference to  Issue 54  , we do some enhance and it will be solved in 
next nightly/official version.

Original comment by tonylovejava on 1 Jul 2011 at 3:11

GoogleCodeExporter commented 9 years ago
Just tried install Eclipse 3.7 and still can't reproduce it.

Am going to check if there's another way to get the libs...

Original comment by tonylovejava on 1 Jul 2011 at 4:22

GoogleCodeExporter commented 9 years ago
I refine the path in r182 , r185 and move it to nightly 0701 version.

And I add logger on it , at least if RJR didn't find any jetty jar files ,
it will complain and give us more reasonable messages.

Like this case.
http://screencast.com/t/HvRNBmWhK9A

And we could fine more information to debug,
if you don't mind , please help me to test it one more time.

Thanks a lot.

Original comment by tonylovejava on 1 Jul 2011 at 8:06

GoogleCodeExporter commented 9 years ago
It now throws the following exception when trying to create or load a RJR 
launch config:

java.lang.NullPointerException
    at runjettyrun.utils.ProjectUtil.getLibs(ProjectUtil.java:137)
    at runjettyrun.container.Jetty6PackageProvider.getPackage(Jetty6PackageProvider.java:20)
    at runjettyrun.Plugin.getDefaultPackages(Plugin.java:211)
    at runjettyrun.utils.RunJettyRunLaunchConfigurationUtil.loadPackage(RunJettyRunLaunchConfigurationUtil.java:178)
    at runjettyrun.container.RunJettyRunContainerClasspathEntry.getRuntimeClasspathEntries(RunJettyRunContainerClasspathEntry.java:289)
    at org.eclipse.jdt.internal.debug.ui.classpath.ClasspathEntry.getChildren(ClasspathEntry.java:190)
    at org.eclipse.jdt.internal.debug.ui.classpath.ClasspathContentProvider.getChildren(ClasspathContentProvider.java:159)
    at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1354)
    at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:391)
    at org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(StructuredViewer.java:896)
    at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:601)
    at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:801)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:778)
    at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:644)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1714)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1724)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1724)
    at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:1056)
    at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:1037)
    at runjettyrun.JettyLaunchConfigurationTabGroup$1.initializeFrom(JettyLaunchConfigurationTabGroup.java:41)
    at org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup.initializeFrom(AbstractLaunchConfigurationTabGroup.java:86)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupWrapper.initializeFrom(LaunchConfigurationTabGroupWrapper.java:194)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.displayInstanceTabs(LaunchConfigurationTabGroupViewer.java:751)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer$8.run(LaunchConfigurationTabGroupViewer.java:623)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.inputChanged(LaunchConfigurationTabGroupViewer.java:640)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput0(LaunchConfigurationTabGroupViewer.java:602)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationTabGroupViewer.setInput(LaunchConfigurationTabGroupViewer.java:578)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.handleLaunchConfigurationSelectionChanged(LaunchConfigurationsDialog.java:940)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog$3.selectionChanged(LaunchConfigurationsDialog.java:559)
    at org.eclipse.jface.viewers.StructuredViewer$3.run(StructuredViewer.java:867)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
    at org.eclipse.jface.viewers.StructuredViewer.firePostSelectionChanged(StructuredViewer.java:865)
    at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1700)
    at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1139)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.handleConfigurationAdded(LaunchConfigurationView.java:283)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView.access$1(LaunchConfigurationView.java:272)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationView$2.run(LaunchConfigurationView.java:261)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
    at org.eclipse.jface.window.Window.open(Window.java:801)
    at org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationsDialog.open(LaunchConfigurationsDialog.java:1134)
    at org.eclipse.debug.ui.DebugUITools$1.run(DebugUITools.java:398)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:406)
    at org.eclipse.debug.ui.DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUITools.java:340)
    at org.eclipse.debug.ui.actions.OpenLaunchDialogAction.run(OpenLaunchDialogAction.java:81)
    at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
    at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:600)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1384)

Original comment by dale.l...@gmail.com on 1 Jul 2011 at 9:01

GoogleCodeExporter commented 9 years ago
OK , we are getting close...

Original comment by tonylovejava on 1 Jul 2011 at 9:29

GoogleCodeExporter commented 9 years ago
I move a newer nightly version to 20110704 ,
but I still can't get more details on this one.

But at least I fix the NPE, if you don't mind , 
you could install this plug-in again ,
and we will see what's the exactly path it get in your environment.

Or maybe you could send your eclipse to me if possible.
(I could create a ftp with a account for you to upload it)

Or at least , I need your Eclipse version , that might help to reproduce it.

Currently what I know is that we use Bundle to get entries in a plug-in 
directory ,
but unfortunately in your case , it got a wrong path.

I have no idea about the reason and still looking for if there's another way to 
handle it.

I am sorry but it's really not a easy one for me,will keep trying to fix it. ;)

Original comment by tonylovejava on 4 Jul 2011 at 3:11

GoogleCodeExporter commented 9 years ago
I found the reason now and I could reproduce it today, will commit and fix it 
later.

The reason is that OSGi required to use specific API (FileLocator.toFileURL()) 
and then it will extract it as a cache in file system when you access it from 
the API.

Since I was not handling it well when I implementing Jetty7/Jetty8 support,
reference to 
http://stackoverflow.com/questions/3741205/get-a-file-location-in-eclipse-plugin

Anyway , thanks you to point it out, let's check if it will get resolved after 
next nightly build.

(I will build it few hours later. )

Original comment by tonylovejava on 6 Jul 2011 at 10:19

GoogleCodeExporter commented 9 years ago
Fix since 2011/7/7 , commit in r222,
and it's already in nightly 20110707 version.

Original comment by tonylovejava on 7 Jul 2011 at 1:05

GoogleCodeExporter commented 9 years ago
that's fantastic - many thanks for all your time in bringing this to resolution!

Original comment by dale.l...@gmail.com on 7 Jul 2011 at 8:14