Fix launching of LTW applications.
Fix license header
Add extra entries to MANIFEST of weaver plugin

https://bugs.eclipse.org/bugs/show_bug.cgi?id=411618
diff --git a/org.aspectj.ajde/customBuildCallbacks.xml b/org.aspectj.ajde/customBuildCallbacks.xml
index c2011a4..7b35f0a 100644
--- a/org.aspectj.ajde/customBuildCallbacks.xml
+++ b/org.aspectj.ajde/customBuildCallbacks.xml
@@ -6,7 +6,7 @@
     http://www.eclipse.org/legal/epl-v10.html
    
     Contributors:
-        Andrew Eisenberg - modified for Groovy Eclipse 2.0
+        Andrew Eisenberg - modified for AJDT 2.2.3
  -->
 <!-- ===================================================================== -->
 <!-- Custom targets called from a project's generated build.xml            -->
diff --git a/org.aspectj.runtime/customBuildCallbacks.xml b/org.aspectj.runtime/customBuildCallbacks.xml
index 1383a1b..9419234 100644
--- a/org.aspectj.runtime/customBuildCallbacks.xml
+++ b/org.aspectj.runtime/customBuildCallbacks.xml
@@ -6,7 +6,7 @@
     http://www.eclipse.org/legal/epl-v10.html
    
     Contributors:
-        Andrew Eisenberg - modified for Groovy Eclipse 2.0
+        Andrew Eisenberg - modified for AJDT 2.2.3
  -->
 <!-- ===================================================================== -->
 <!-- Custom targets called from a project's generated build.xml            -->
diff --git a/org.aspectj.weaver/META-INF/MANIFEST.MF b/org.aspectj.weaver/META-INF/MANIFEST.MF
index 5eb3e18..1f24e40 100644
--- a/org.aspectj.weaver/META-INF/MANIFEST.MF
+++ b/org.aspectj.weaver/META-INF/MANIFEST.MF
@@ -28,3 +28,7 @@
 Eclipse-BundleShape: jar
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ClassPath: .,classes
+Implementation-Version: 1.7.2
+Implementation-Vendor: aspectj.org
+Premain-Class: org.aspectj.weaver.loadtime.Agent
+Can-Redefine-Classes: true
diff --git a/org.aspectj.weaver/customBuildCallbacks.xml b/org.aspectj.weaver/customBuildCallbacks.xml
index c2011a4..7b35f0a 100644
--- a/org.aspectj.weaver/customBuildCallbacks.xml
+++ b/org.aspectj.weaver/customBuildCallbacks.xml
@@ -6,7 +6,7 @@
     http://www.eclipse.org/legal/epl-v10.html
    
     Contributors:
-        Andrew Eisenberg - modified for Groovy Eclipse 2.0
+        Andrew Eisenberg - modified for AJDT 2.2.3
  -->
 <!-- ===================================================================== -->
 <!-- Custom targets called from a project's generated build.xml            -->
diff --git a/org.eclipse.ajdt.ui/src/org/eclipse/ajdt/internal/launching/LTWApplicationLaunchConfigurationDelegate.java b/org.eclipse.ajdt.ui/src/org/eclipse/ajdt/internal/launching/LTWApplicationLaunchConfigurationDelegate.java
index 1a153a3..41408ed 100644
--- a/org.eclipse.ajdt.ui/src/org/eclipse/ajdt/internal/launching/LTWApplicationLaunchConfigurationDelegate.java
+++ b/org.eclipse.ajdt.ui/src/org/eclipse/ajdt/internal/launching/LTWApplicationLaunchConfigurationDelegate.java
@@ -248,10 +248,18 @@
 	}
 
 	private String[] getLTWClasspath(String[] classpath, boolean isJava5OrLater) throws IOException {
-		URL resolvedaspectjWeaverJar = FileLocator.resolve(new URL(Platform.getBundle(AspectJPlugin.WEAVER_PLUGIN_ID).getEntry("/"), "aspectjweaver.jar")); //$NON-NLS-1$ //$NON-NLS-2$
-		URL resolvedaspectjRTJar = FileLocator.resolve(new URL(Platform.getBundle(AspectJPlugin.RUNTIME_PLUGIN_ID).getEntry("/"), "aspectjrt.jar")); //$NON-NLS-1$ //$NON-NLS-2$
-		String weaverPath = new Path(resolvedaspectjWeaverJar.getFile()).toOSString();
-		String rtPath = new Path(resolvedaspectjRTJar.getFile()).toOSString();
+		File resolvedaspectjWeaverJar = FileLocator.getBundleFile(Platform.getBundle(AspectJPlugin.WEAVER_PLUGIN_ID));
+		if (!resolvedaspectjWeaverJar.getName().endsWith(".jar")) {
+		    // runtime workbench
+		    resolvedaspectjWeaverJar = new File(resolvedaspectjWeaverJar, "classes");
+		}
+		File resolvedaspectjRTJar = FileLocator.getBundleFile(Platform.getBundle(AspectJPlugin.RUNTIME_PLUGIN_ID));
+        if (!resolvedaspectjRTJar.getName().endsWith(".jar")) {
+            // runtime workbench
+            resolvedaspectjRTJar = new File(resolvedaspectjRTJar, "classes");
+        }
+		String weaverPath = new Path(resolvedaspectjWeaverJar.getCanonicalPath()).toOSString();
+		String rtPath = new Path(resolvedaspectjRTJar.getCanonicalPath()).toOSString();
 		List<String> fullPath = new ArrayList<String>();
 		fullPath.add(weaverPath);
 		fullPath.add(rtPath);