diff --git a/action/pom.xml b/action/pom.xml index 1d5bcb085..97db73795 100644 --- a/action/pom.xml +++ b/action/pom.xml @@ -116,6 +116,76 @@ true + + ant + ant + 1.6.5 + true + + + + tomcat + jasper-compiler + 5.5.12 + true + + + + tomcat + jasper-runtime + 5.5.12 + true + + + + tomcat + jasper-compiler-jdt + 5.5.12 + true + + + + commons-el + commons-el + 1.0 + true + + + + commons-io + commons-io + 1.0 + true + + + + commons-lang + commons-lang + 2.1 + true + + + + jspapi + jsp-api + 2.0 + true + + + + commons-collections + commons-collections + 2.1.1 + true + + + + xstream + xstream + 1.1.2 + true + + jasperreports diff --git a/action/src/main/java/org/apache/struts/action2/quickstart/Configuration.java b/action/src/main/java/org/apache/struts/action2/quickstart/Configuration.java index 079d197b2..b7b942f15 100644 --- a/action/src/main/java/org/apache/struts/action2/quickstart/Configuration.java +++ b/action/src/main/java/org/apache/struts/action2/quickstart/Configuration.java @@ -35,9 +35,9 @@ import java.util.Map; * Configuration for the QuickStart program. */ public class Configuration implements Serializable { - + private static final long serialVersionUID = 9159115401614443449L; - + String ideaConfig; String extendsConfig; String resolver; @@ -132,32 +132,36 @@ public class Configuration implements Serializable { public void resolveDirs(String wd) { if (ideaConfig != null) { - String full = resolveDir(this.ideaConfig, wd); + String[] parts = ideaConfig.split(","); + for (int i = 0; i < parts.length; i++) { + String full = resolveDir(parts[i], wd); - try { - DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - Document doc = db.parse(full); - NodeList components = doc.getElementsByTagName("root"); - List jars = new ArrayList(); - for (int i = 0; i < components.getLength(); i++) { - Element e = (Element) components.item(i); - String value = e.getAttribute("url"); - if (value != null && value.startsWith("jar://") && value.endsWith(".jar!/")) { - value = value.substring(6, value.length() - 2); - if (value.startsWith("$MODULE_DIR$")) { - value = value.substring(13); + try { + DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder(); + Document doc = db.parse(full); + NodeList components = doc.getElementsByTagName("root"); + List jars = new ArrayList(); + for (int j = 0; j < components.getLength(); j++) { + Element e = (Element) components.item(j); + String value = e.getAttribute("url"); + if (value != null && value.startsWith("jar://") && value.endsWith(".jar!/")) { + value = value.substring(6, value.length() - 2); + if (value.startsWith("$MODULE_DIR$")) { + value = value.substring(13); + } + jars.add(value); } - jars.add(value); } + + if (this.libs != null) { + this.libs.addAll(jars); + } else { + this.libs = jars; + } + } catch (Exception e) { + e.printStackTrace(); } - if (this.libs != null) { - this.libs.addAll(jars); - } else { - this.libs = jars; - } - } catch (Exception e) { - e.printStackTrace(); } } resolve(this.libs, wd); diff --git a/action/src/main/java/org/apache/struts/action2/quickstart/MultiWebApplicationContext.java b/action/src/main/java/org/apache/struts/action2/quickstart/MultiWebApplicationContext.java index 28193b582..49892cfb1 100644 --- a/action/src/main/java/org/apache/struts/action2/quickstart/MultiWebApplicationContext.java +++ b/action/src/main/java/org/apache/struts/action2/quickstart/MultiWebApplicationContext.java @@ -85,12 +85,12 @@ public class MultiWebApplicationContext extends WebApplicationContext { // still haven't found what we're looking for? // Alright, let's just hack this to work in IDEA - if (uriInContext.equals("/struts")) { + if (uriInContext.equals("/struts-action")) { // we do this check to support both "quickstart:showcase" and "quickstart" (using quickstart.xml) - if (new File("../../src/java/META-INF/taglib.tld").exists()) { - return FileResource.newResource("../../src/java/META-INF/taglib.tld"); + if (new File("../../action/src/main/resources/META-INF/taglib.tld").exists()) { + return FileResource.newResource("../../action/src/main/resources/META-INF/taglib.tld"); } else { - return FileResource.newResource("src/java/META-INF/taglib.tld"); + return FileResource.newResource("src/main/resources/META-INF/taglib.tld"); } } diff --git a/pom.xml b/pom.xml index 277babd19..3977ed40c 100644 --- a/pom.xml +++ b/pom.xml @@ -297,6 +297,66 @@ 3.1.0 + + ant + ant + 1.6.5 + + + + tomcat + jasper-runtime + 5.5.12 + + + + tomcat + jasper-compiler + 5.5.12 + + + + tomcat + jasper-compiler-jdt + 5.5.12 + + + + commons-el + commons-el + 1.0 + + + + commons-io + commons-io + 1.0 + + + + commons-lang + commons-lang + 2.1 + + + + jspapi + jsp-api + 2.0 + + + + commons-collections + commons-collections + 2.1.1 + + + + xstream + xstream + 1.1.2 + + org.apache.struts.tiles diff --git a/webapps/showcase/quickstart.xml b/webapps/showcase/quickstart.xml index 47e55ca8e..8064bb153 100644 --- a/webapps/showcase/quickstart.xml +++ b/webapps/showcase/quickstart.xml @@ -12,7 +12,7 @@ users who don't have a single directory in their project that contains all the libraries they need. --> - + ../../action/action.iml,../../thirdparty/jasperreports/action-jasperreports.iml,webapp-showcase.iml /showcase @@ -37,14 +37,16 @@ using the classDirs and libs elements --> - src/java + src/main/java - src/webapp/WEB-INF/classes + src/main/webapp/WEB-INF/classes + ../../thirdparty/jasperreports/target/classes + ../../action/target/classes