[378493] Basic J2ee Preview server broken on Juno
diff --git a/features/org.eclipse.jst.server_adapters.feature/feature.xml b/features/org.eclipse.jst.server_adapters.feature/feature.xml
index ee37779..690b6fc 100644
--- a/features/org.eclipse.jst.server_adapters.feature/feature.xml
+++ b/features/org.eclipse.jst.server_adapters.feature/feature.xml
@@ -2,7 +2,7 @@
<feature
id="org.eclipse.jst.server_adapters.feature"
label="%featureName"
- version="3.2.100.qualifier"
+ version="3.2.200.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.license"
license-feature-version="1.0.0.qualifier">
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.server.preview.adapter/META-INF/MANIFEST.MF
index 24a6164..ad85b0d 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.server.preview.adapter/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.jst.server.preview.adapter;singleton:=true
-Bundle-Version: 1.1.100.qualifier
+Bundle-Version: 1.1.200.qualifier
Bundle-Activator: org.eclipse.jst.server.preview.adapter.internal.PreviewPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/plugin.xml b/plugins/org.eclipse.jst.server.preview.adapter/plugin.xml
index 9122c9c..ffc33f4 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/plugin.xml
+++ b/plugins/org.eclipse.jst.server.preview.adapter/plugin.xml
@@ -13,7 +13,7 @@
versions="1.0"/>
<moduleType
types="jst.web"
- versions="2.2,2.3,2.4,2.5"/>
+ versions="2.2,2.3,2.4,2.5,3.0"/>
<moduleType
types="jst.utility"
versions="1.0"/>
@@ -69,7 +69,7 @@
version="1.0"/>
<facet
id="jst.web"
- version="2.2,2.3,2.4,2.5"/>
+ version="2.2,2.3,2.4,2.5,3.0"/>
<facet
id="jst.utility"
version="1.0"/>
diff --git a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
index f6026f7..73b5079 100644
--- a/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
+++ b/plugins/org.eclipse.jst.server.preview.adapter/src/org/eclipse/jst/server/preview/adapter/internal/core/PreviewLaunchConfigurationDelegate.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
+ * Copyright (c) 2007, 2012 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -35,18 +35,34 @@
*
*/
public class PreviewLaunchConfigurationDelegate extends AbstractJavaLaunchConfigurationDelegate {
+ // To support running from the workbench, be careful when adding and removing
+ // bundles to this array. For instance, org.eclipse.wst.server.preview is a
+ // plug-in that can be checked out in the workbench. If it is, the classpath
+ // needs to point to the bin directory of this plug-in. This plug-in is tracked
+ // in the array with CLASSPATH_BIN_INDEX_PREVIEW_SERVER. Therefore, when updating
+ // this array, please ensure the index of org.eclipse.wst.server.preview
+ // corresponds to CLASSPATH_BIN_INDEX_PREVIEW_SERVER
private static final String[] REQUIRED_BUNDLE_IDS = new String[] {
"org.apache.commons.logging",
- "org.apache.commons.el",
"javax.servlet",
"javax.servlet.jsp",
- "org.apache.jasper",
- "org.mortbay.jetty.server",
- "org.mortbay.jetty.util",
+ "org.eclipse.jetty.server",
+ "org.eclipse.jetty.util",
+ "org.eclipse.jetty.continuation",
+ "org.eclipse.jetty.http",
+ "org.eclipse.jetty.io",
+ "org.eclipse.jetty.security",
+ "org.eclipse.jetty.servlet",
+ "javax.el",
+ "com.sun.el",
+ "org.apache.jasper.glassfish",
"org.eclipse.wst.server.preview"
};
private static final String MAIN_CLASS = "org.eclipse.wst.server.preview.internal.PreviewStarter";
+ // The index of org.eclipse.wst.server.preview in REQUIRED_BUNDLE_IDS, for supporting
+ // running on the workbench when the plug-in is checked out
+ private static final int CLASSPATH_BIN_INDEX_PREVIEW_SERVER = REQUIRED_BUNDLE_IDS.length-1;
public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor monitor) throws CoreException {
IServer server = ServerUtil.getServer(configuration);
@@ -73,9 +89,11 @@
jars[i] = path.toOSString();
}
- Trace.trace(Trace.FINEST,jars[7] + File.separator + "bin");
- if (new File(jars[7] + File.separator + "bin").exists())
- jars[7] = jars[7] + File.separator + "bin";
+ // Appending the bin onto the classpath is to support running from the workbench
+ // when org.eclipse.wst.server.preview is checked out
+ Trace.trace(Trace.FINEST,jars[CLASSPATH_BIN_INDEX_PREVIEW_SERVER] + File.separator + "bin");
+ if (new File(jars[CLASSPATH_BIN_INDEX_PREVIEW_SERVER] + File.separator + "bin").exists())
+ jars[CLASSPATH_BIN_INDEX_PREVIEW_SERVER] = jars[CLASSPATH_BIN_INDEX_PREVIEW_SERVER] + File.separator + "bin";
IVMInstall vm = verifyVMInstall(configuration);